문제를 보자마자 반복문으로 코드를 짜보았지만
runtime error😭
그래서 아래의 코드로 돌려보니
예제1,2는 잘 나오지만 3이 안나온다(따흐구ㅠ지ㅠㄹ쥬ㅠ륦퓨 ㅍㅍㅍ퓨ㅠㅠㅠ)
import math
a, b, v = map(int, input().split())
day = (a-b)
result = (day+day)/v
result2 = (float("%0.1f" % (result)))
#소수점 첫번째자리까지
if result2 >= 1:
print(math.ceil(result2))
#소수점 올림
else:
print(int(result2*10))
다른 코드들을 참고하며 다시 풀어보니 이렇게 간단한 코드였다니
import math
a, b, v = map(int, input().split())
# a = 낮 동안 올라가는 높이
# b = 밤 동안 내려오는 높이
# v = 나무 높이(top point)
# a - b = 하룻동안 올라가는 높이
day = math.ceil((v-a)/(a-b))+1
# v - a 해주는 이유: 마지막 날 정상에 도착했을땐 b가 없기때문에 a-b로 나눠줄 필요가 없다.
# 따라서 우선 마지막 날은 제외시키고 계산하기위해 a를 빼준다.
# 마지막 날을 제외한 나무 높이를 하룻동안 올라가는 높이(a-b)로 나눠준다.
# +1은 제외된 마지막 날 하루를 더해준다.
print(day)