백준 - 파이썬/단계별 - 8 (일반 수학 1)
[백준/파이썬] 2869번 달팽이는 올라가고 싶다.
miiinn
2025. 5. 15. 15:35
[시간초과가 뜬 코드]
# 달팽이는 올라가고 싶다.
a, b, v = map(int, input().split())
meter = 0
days = 0
while meter < v:
meter += a
if meter < v: # 정상이 아닐 때만 미끄러지기
meter -= b
days += 1
print(days)
[while문이 아닌 수학적 방법으로 수정한 코드]
# 달팽이는 올라가고 싶다.
import math
a, b, v = map(int, input().split())
meter = 0
days = 0
if a >= v:
print(1)
else:
meter = a - b
ramaining_meter = v - a
days = math.ceil(ramaining_meter/meter)
print(days+1) # 첫날 올라가는 1일 더하기