문제
땅 위에 달팽이가 있다. 이 달팽이는 높이가 V미터인 나무 막대를 올라갈 것이다.
달팽이는 낮에 A미터 올라갈 수 있다. 하지만, 밤에 잠을 자는 동안 B미터 미끄러진다. 또, 정상에 올라간 후에는 미끄러지지 않는다.
달팽이가 나무 막대를 모두 올라가려면, 며칠이 걸리는지 구하는 프로그램을 작성하시오.
입력
첫째 줄에 세 정수 A, B, V가 공백으로 구분되어서 주어진다. (1 ≤ B < A ≤ V ≤ 1,000,000,000)
출력
첫째 줄에 달팽이가 나무 막대를 모두 올라가는데 며칠이 걸리는지 출력한다.
예제 입력과 출력
알고리즘 분류
수학
이분 탐색
정답
a, b, v=map(int,input().split())
r=(v-b)/(a-b)
print(int(r) if r == int(r) else int(r)+1)
반복문을 사용하니 시간초과가 나옵니다.
v-b를 통해 마지막 날에는 잠자는 것을 고려하지 않습니다.
백준 알고리즘 2869번 : https://www.acmicpc.net/problem/2869
'알고리즘 > 백준알고리즘' 카테고리의 다른 글
백준알고리즘 - 2805번 나무 자르기 - 파이썬(Python) (0) | 2020.06.12 |
---|---|
백준알고리즘 - 1920번 수 찾기 - 파이썬(Python) (0) | 2020.06.12 |
백준알고리즘 - 10159번 저울 - 파이썬(Python) (0) | 2020.06.11 |
백준알고리즘 - 2458번 키 순서 - 파이썬(Python) (0) | 2020.06.11 |
백준알고리즘 - 9205번 맥주 마시면서 걸어가기 - 파이썬(Python) (0) | 2020.06.11 |