#시간 초과 코드
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)
'프로그래밍 언어 > 파이썬' 카테고리의 다른 글
백준 > 1316 그룹 단어 체커 (2) | 2024.02.13 |
---|---|
백준 > 27294 몇개고? (0) | 2024.02.11 |
백준 > 29736 브실이와 친구가 되고 싶어 🤸♀️ (1) | 2024.02.09 |
백준 > 2480 주사위 세개 (1) | 2023.12.08 |
파이썬의 다양한 입력 (0) | 2021.12.31 |