프로그래밍 언어/파이썬
백준 > 1712 손익분기점
B612
2024. 2. 10. 18:54
#시간 초과 코드
a, b, c = map(int, input().split())
i = a // c
while(True):
i += 1
if b >= c:
print(-1)
break
if (a + b * i < c * i):
print(i)
break
기존에는 while문을 이용해 손익분기점을 찾아내는 방식으로 접근했다.
하지만 계속해서 시간 초과가 났고, 문제를 푸는 다른 방법이 있을 것이라 생각했다.
위의 코드가 힌트가 되는데, 손익분기점을 구하는 수식은 a + b * i < c * i 가 된다.
i를 한 변으로 몰아넣고 풀면 금방 구할 수 있었다.
#정답 코드
a, b, c = map(int, input().split())
if b >= c:
print(-1)
else:
print(a // (c-b) + 1)