Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 1712번- '손익분기점' (PYTHON 풀이) 본문
문제:

고정비용과 가변비용이 있을 때 몇개를 팔아야 손실을 다 메꿀 수 있는지, 즉 손익분기점에 해당하는 수량을 찾으면 되는 문제이다.
여기서 손익분기점 코드를 작성할 때 유의해야 할 점이 C가 B보다 반드시 크다는 것이다. 당연하다. B는 비용이고 C는 판매가인데 판매가가 비용보다 더 높아야 손실을 메꿀 수 있을 것이다.
그래서 코드를 작성하기 전에 우선 손익분기점이 발생할 수 있는 식을 계산하였다. (해당 식은 문제를 보면 이해할 수 있을 것이다.)
'A + B * i < C * i' (고정비 + 가변비 * 수량 < 판매가 * 수량)
식을 작성하면 이와 같이 되는데, 여기서 구해야 하는 것이 i이니까 i를 한쪽으로 몰아서 작성하면 i = A // (C - B) + 1 와 같이 정리가 된다. 이를 참고해서 코드를 작성하면 된다.
풀이:
A, B, C = map(int,input().split())
if C <= B:
print(-1)
else:
print(A // (C - B) + 1)
입력을 받고, 앞서서 손익분기점이 되기 위해선 C가 B보다 커야한다고 했다. 그러니 이를 지키지 않을 시 -1을 출력하도록 하고, 이 규칙을 지켰다면 앞서서 작성한 식대로 출력해주면 된다.
이번 문제를 풀 때 처음엔 반복문을 써서 풀어야하나 싶어서 작성하려다가 제한 수가 따로 없어서 이와 같이 풀 경우 너무 메모리를 낭비할 수도 있겠다는 생각이 들었다. 그래서 식을 정리하는 쪽으로 생각을 바꾸었는데 그렇게 작성하니 아주 짧고 쉽게 풀 수 있었다.
'CODING 💻' 카테고리의 다른 글
| 백준 15596번, 10817번 - '정수 N개의 합', '세 수' (PYTHON 풀이) (0) | 2025.11.23 |
|---|---|
| 백준 10039번- '평균 점수' (PYTHON 풀이) (0) | 2025.11.22 |
| 백준 1924번- '2007년' (PYTHON 풀이) (0) | 2025.11.20 |
| 백준 2442번- '별 찍기 - 5' (PYTHON 풀이) (0) | 2025.11.19 |
| 백준 2309번- '일곱 난쟁이' (PYTHON 풀이) (0) | 2025.11.18 |
