백준 BOJ C# 1712 손익분기점

2020. 2. 14. 22:09백준 알고리즘 단계별/수학 1 단계

반응형

백준 BOJ C# 1712 손익분기점

 

출제 링크 : https://www.acmicpc.net/problem/1712

 

1712번: 손익분기점

월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다. 예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다. 노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로

www.acmicpc.net

 

접근 방법

즉, 고정비용(A) + (가변비용(B) * @)  <  1대의 가격(C) 되는 지점을 구하면 된다.

 

지문에서 요구하는 것

1. 첫째 줄에 A,B,C가 빈 칸을 사이에 두고 순서대로 주어짐

2. A,B,C는 21억 이하의 자연수

3. 손익분기점이 존재하지 않으면 -1 출력

 

1. 은 빈 칸을 사이에 두고 주어지니 split으로 뽑으면 쉬울꺼 같다는 생각과

2. 의 21억 이하의 자연수는 Int32비트의 최대 벨류이므로 평소 int형으로 정의해도 문제가 없을꺼 같다.

3. if 구문으로 예외처리 해준다.

 

코드

 

코드상에 문제는 없었으나 문제에 있던 A,B,C는 21억 이하의 자연수 라는 부분 때문인지 런타임 에러가 뜨게됐다.

제목과 같이 수학을 이용하여 풀어야 되겠다.

 

while문을 사용하지 않고 수학적 계산으로 값을 넘겨주면 될꺼 같다.

우선 생산비용과 총 수입이 같아지는 지점을 구하기 위해선 등차수열을 사용한다.

 

a+b*n = c*n 

a = c*n - b*n

a = (c-b)n

a/(c-b) = n

 

이라는 공식이 성립된다. 이걸 코드로 옮겨주면

 

 

반응형