티스토리 뷰

문제. 

월드 전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.

 

예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만 원이 들며, 열 대 생산하는 데는 총 1,700만 원이 든다.

 

노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총비용(=고정비용+가변비용) 보다 많아지게 된다. 최초로 총수입이 총비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.

 

A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.

 

입출력.

첫째 줄에 A, B, C가 빈 칸을 사이에 두고 순서대로 주어진다. A, B, C는 21억 이하의 자연수이다. 첫 번째 줄에 손익분기점 즉 최초로 이익이 발생하는 판매량을 출력한다. 손익분기점이 존재하지 않으면 -1을 출력한다.

 

방법.

먼저 손익분기점이 존재하지 않는 경우를 추론해보았다. cn < a + bn 공식이 성립하는 경우 n이 손익 분기점을 위해 판매되어야 하는 노트북의 최소 개수이다. 그렇다면 손익분기점이 발생하지 않을 때에는 판매 개수가 의미 없으므로, n을 사용하지 않는 공식이 필요하다. 아래와 같이 추론할 수 있다.

 

    cn < a + bn

    cn-bn < a

    n(c-b) < a

    c-b < a/n

 

a와 n은 항상 양수이므로, a/n 연산의 결과도 항상 양수이다. 즉, c-b의 값이 음수라면 손익분기점이 발생하지 않는다는 것을 알 수 있다. c-b 가 음수가 되려면 c<b 가 되어야 하므로, 손익분기점이 발생하지 않는 if문의 조건은 c<b 이 된다.

 

먼저 손익분기점이 발생하지 않는 경우를 if문으로 걸러내고, else문 내부에서 while문을 사용해 노트북 개수를 의미하는 n을 1씩 증가하며 손익분기점이 넘는 지점을 찾아보았다. 테스트 케이스의 결과와 동일하게 나왔으나, 제출하니  시간 초과가 나왔다.

 

#include <stdio.h>

//시간 초과
int main(void){
    int a, b, c;
    int n = 0;
    scanf("%d %d %d", &a, &b, &c);
    if(c<b){
        n=-1;
        printf("%d\n",n);
    }else{
        while(n>=0){  
            n++;
            if(c*n-(a+(b*n))>0){
                printf("%d\n",n);
                break;
            }                
        }
    }
    return 0;
}

 

그래서 손익분기점이 없는 경우의 조건을 찾을 때와 마찬가지로, n을 찾는 조건에 변화를 주었다.

 

    cn < a + bn

    cn-bn < a

    n(c-b) < a

    n < a/(c-b)

 

손익 분기점을 넘어 이익이 발생하는 지점을 구해야 하므로, 위 공식에 +1을 해야 이익이 발생하는 최소 판매 개수를 알 수 있다. 위 공식을 사용해 수정한 코드는 아래와 같다. 제출하니 시간 초과 없이 정답 처리되었다.

 

#include <stdio.h>

int main(void){
    int a, b, c;
    scanf("%d %d %d", &a, &b, &c);

    if(c<=b){
        printf("-1\n");
    }else{
        int num = a/(c-b);
        printf("%d\n",num+1);
    }
    return 0;
}

 

 

 

 

 

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와

www.acmicpc.net

댓글
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
최근에 올라온 글
글 보관함
Total
Today
Yesterday