반응형
1) 사이트
2) 문제
간단하게 말하면 이런 식이다. 예를 들어, 하나의 노트북을 만드는 데, 고정비용이 1000 / 가변비용이 70이라고 하자
고정비용은 노트북 갯수와 상관없이 1000이고, 가변비용은 한 대 만들 때마다 올라간다.(70 -> 140 ...)
즉, 10대를 만든다고 치면 1000 + (70 * 10대) = 1700이 든다.
이 문제를보면 간단히 포문돌려서 끝낼 수 있을 것 같지만, 시간이 0.35초 안에 답을 내야하는 문제이기 때문에 수식이 필요하다.
3) 파이썬 코드
result=-1
fixed,val,cost=input().split(' ')
if (int(cost)-int(val))>0:
result=(int(fixed)/(int(cost)-int(val)))+1
if result<0:
result=-1
print(int(result))
3-1) 선수 지식
파이썬 코드를 이해하기 위해 알아야 할 선수 지식이 있습니다.
1. 여러 개 변수를 한 줄에 받는 방법
-> 변수1, 변수2, 변수3 = input().split(' ')
3-2) 설명
1. 고정비, 가변비, 노트북 가격을 한 줄에 받는다.
fixed,val,cost=input().split(' ')
2. 손익분기점을 구한다. 손익분기점은 생산비 대비 이득을 보는 지점이다.
if (int(cost)-int(val))>0:
result=(int(fixed)/(int(cost)-int(val)))+1
가정문을 걸어준 이유는 노트북 비용과 가변비용이 같을 수 있기 떄문에 0으로 나누는 에러를 피하기 위함이다.
3. 손익분기점을 구할 수 없는 사이는 -1을 출력하게 한다.
if result<0:
result=-1
4. 결과를 출력한다.
print(int(result))
4) c언어 코드
#include<stdio.h>
int main() {
int fixed = 0;
int non_fixed = 0;
int price = 0;
int result = 0;
scanf("%d%d%d", &fixed, &non_fixed, &price);
if (price > non_fixed) {
result = fixed / (price - non_fixed);
printf("%d",result + 1);
}
else
printf("-1");
return 0;
}
사실 이 문제는 21.1.12에 c언어로 풀었던 적이 있다 ㅎㅎ 파이썬으로도 풀어보고자 도전했던 문제!
나누고 싶은 의견이 있다면 댓글로 달아주세요 ^_^
끝!
반응형
'알고리즘 > 백준' 카테고리의 다른 글
1193번 분수찾기 (0) | 2021.05.30 |
---|---|
2292번 벌집 (0) | 2021.05.30 |
1316번 그룹 단어 체커 (0) | 2021.05.23 |
2941번 크로아티아 알파벳 (0) | 2021.05.23 |
5622번 다이얼 (0) | 2021.05.23 |