728x90
백준 문제에서 1712번에 해당하는 손익분기점 문제 풀이입니다.
문제를 읽어보셨다고 가정하고 설명하도록 하겠습니다.
출력에는 크게 두 가지가 있습니다.
손익분기점을 넘는 판매량,
손익분기점이 존재하지 않을 때의 -1
그렇다면 두가지를 구분하는 조건을 찾아야겠지요.
생각해봅시다.
고정비용은 판매량이 증가한다고 그 자체로 변화가 생기지 않습니다.
반면 가변비용과 가격은 판매량이 증가하면 둘 다 증가합니다.
만약 가변비용이 가격보다 크다면 판매량 증가는 적자를 확대합니다.
가변비용이 100이고 가격이 10이면 한 개씩 판매량이 증가할 때마다 이익은 -90입니다.
때문에 가변비용이 가격보다 작아야 손익분기점이 존재할 수 있습니다.
같을 때는? 이익이 판매량이 1 증가할 때마다 0이 증가므로 고정비용이 줄어들지 않습니다.
즉, 손익분기점이 존재하기 위해서는 반드시 가격이 가변비용보다 커야 합니다.
손익분기점이 존재한다고 했을 때 어떻게 손익분기점을 구할까?
판매량 1 증가할 때마다 증가하는 이익은 가격-가변비용입니다.
이것들이 누적되어 고정비용이 넘었을 때가 손익분기점입니다.
즉 고정비용을 (가격-가변비용)으로 나눈 몫에 1을 더한 값이 손익분기점입니다.
예를 들어 가격이 100이고 가변비용이 90이라고 할 때 판매량 1 증가당 이익 증가분은 10입니다.
고정비가 100이라면 판매량이 11일 때 이익으로 전환됩니다.
코드로 짜면 아래와 같습니다.
def Break_even_point(A,B,C):
if B>=C:
return(-1)
else:
return(A//(C-B)+1)
A,B,C=map(int, input().split())
print(Break_even_point(A,B,C))
728x90
'기타 > algorithm' 카테고리의 다른 글
[알고리즘] 선형 큐 문제점 및 한계 (0) | 2021.01.25 |
---|---|
큐와 덱, 1021번 회전하는 큐 풀이 (0) | 2020.11.13 |
파이썬 에러 종류 구문, 런타임 에러 (0) | 2020.11.07 |
요세푸스 순열 파이썬으로 풀기 (0) | 2020.11.06 |
큐 자료구조 예시 문제 카드2 (0) | 2020.10.29 |