22.04.04 코테
작성시간이 0시 2분이지만 아무튼 4월 4일입니다.
파이썬 2869 달팽이는 올라가고 싶다
시간초과코드
a, b, c = map(int, input().split())
cnt = 0
high= 0
while high<c:
high += a-b
cnt +=1
print(cnt)
시간초과가 난 이유를 찾아보니 부등식 계산이 생각보다 오래걸린다고 합니다.
이를 해결하기 위해서는 (a-b)*n +a = c로 바로 계산을 해주어야 한다고 합니다.
(마지막날에는 정상으로 올라가면 b만큼 내려올 일이 없으므로 +a만 합니다)
위 식을 정리하여서 (a-b)n = c-a => n = (c-a)/(a-b)와 같은 방식으로 계산하면 풀 수 있다고 합니다.
출처 : https://ooyoung.tistory.com/85
Author And Source
이 문제에 관하여(22.04.04 코테), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@gelgel5633/22.04.04-코테저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)