ps:problems:boj:2869
목차
달팽이는 올라가고 싶다
ps | |
---|---|
링크 | acmicpc.net/… |
출처 | BOJ |
문제 번호 | 2869 |
문제명 | 달팽이는 올라가고 싶다 |
레벨 | 브론즈 1 |
분류 |
기초 |
시간복잡도 | O(1) |
사용한 언어 | Python |
제출기록 | 29200KB / 72ms |
최고기록 | 52ms |
해결날짜 | 2021/10/03 |
풀이
- 퍼즐 퀴즈로도 유명한 문제. 어렵지는 않지만 처음 접하는 사람은 답을 V/(A-B)로 계산하는 실수를 종종 저지른다.
- 마지막 올라갈때는 내려갈 것을 고려하지 않아도 되므로, 제대로 구하려면 (A-B) 만큼씩 n-1번 올라가고 마지막 n번째에는 A만큼 올라간다고 계산하면 된다. ceil((V-A)/(A-B)) + 1 이 되고 ceil(x/y)는 (x+y-1)/y로 바꿔쓸수 있으므로 그렇게 적용하면 (V-B-1)/(A-B)+1 이 된다.
- 시간복잡도는 O(1)
코드
"""Solution code for "BOJ 2869. 달팽이는 올라가고 싶다".
- Problem link: https://www.acmicpc.net/problem/2869
- Solution link: http://www.teferi.net/ps/problems/boj/2869
"""
def main():
A, B, V = [int(x) for x in input().split()]
print((V - B - 1) // (A - B) + 1)
if __name__ == '__main__':
main()
ps/problems/boj/2869.txt · 마지막으로 수정됨: 2022/01/27 01:55 저자 teferi
토론