View

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

 

문제

땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.

달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.

달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.

입력

첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)

출력

첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.

 

주의

- 제한시간 꼭 확인바람. 그냥 반복문 돌렸다가 예제3번 입력 하는 순간.. 시간 초과 ...

 

a, b, c = map(int, input().split())

tmp = (c - a) / (a - b)

if (c - a) % (a - b) == 0:
    tmp += 1
else:
    tmp += 2
print(int(tmp))

 

마지막 도착하는 날은 낮이기 때문에 미끄러지지 않는다

그래서 마지막날의 낮 이동거리 를 미리 빼놓는다(나중에 +1일)

 

위에 계산한 높이에 낮과 밤이 지난 하루 이동거리를 나눈다

 

그럼 마지막 도착 전날까지의 일수가 나온다

 

도착 전날까지의 일수가

소수점이 없이 딱 떨어지면 + 처음에 뺀 하루(1)

소수점 아래 숫자가 있으면 하루 더 가야하니 + 1일 + 처음에 하루(1)

 

반응형
Share Link
reply