새소식

languages/coding test

[백준/Python] 2869번: 달팽이는 올라가고 싶다

  • -

단계별로 풀어보기 > 단계 8: 일반 수학 > 2869번

#2869: 달팽이
a, b, v = map(int, input().split())
if (v-a) % (a-b) == 0:
    print((v-b) // (a-b))
else:
    print(((v-b) // (a-b)) + 1)

 

달팽이가 하루에 올라가는 높이가 a-b, 달팽이가 총 올라가야 하는 높이가 v-b입니다. 나누었을 때 나머지가 0이 아니면 하루가 더 필요한 것이므로 +1을 해 줍니다.

 

while 문을 사용하면 시간 초과라는 메시지가 뜹니다. 시간을 고려하지 않은 while 반복문은 다음과 같습니다.

#시간을 고려하지 않음
a, b, v = map(int, input().split())
count = 0
sum = 0
while True:
  sum += a
  count += 1
  if sum >= v:
    break
  else:
    sum -= b
print(count)
Contents

포스팅 주소를 복사했습니다

이 글이 도움이 되었다면 공감 부탁드립니다.