유니티3D 프로그래밍
백준 단계별로 풀어보기 : 1712번 문제 (손익분기점) 본문
https://www.acmicpc.net/problem/1712
1712번: 손익분기점
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와
www.acmicpc.net
문제
월드전자는 노트북을 제조하고 판매하는 회사이다. 노트북 판매 대수에 상관없이 매년 임대료, 재산세, 보험료, 급여 등 A만원의 고정 비용이 들며, 한 대의 노트북을 생산하는 데에는 재료비와 인건비 등 총 B만원의 가변 비용이 든다고 한다.
예를 들어 A=1,000, B=70이라고 하자. 이 경우 노트북을 한 대 생산하는 데는 총 1,070만원이 들며, 열 대 생산하는 데는 총 1,700만원이 든다.
노트북 가격이 C만원으로 책정되었다고 한다. 일반적으로 생산 대수를 늘려 가다 보면 어느 순간 총 수입(판매비용)이 총 비용(=고정비용+가변비용)보다 많아지게 된다. 최초로 총 수입이 총 비용보다 많아져 이익이 발생하는 지점을 손익분기점(BREAK-EVEN POINT)이라고 한다.
A, B, C가 주어졌을 때, 손익분기점을 구하는 프로그램을 작성하시오.
문제풀이
A라는 고정비용과 B라는 가변비용의 합이 총 수입보다 많아질 때의 숫자를 출력하는 것이다.
고정 비용이 100이고 가변 비용이 9, 판매 비용이 10이라면 1개를 생산하면 109원의 생산비용이 발생하고 수익이 10원이 나는 것이다. 여기서 가변 비용과 판매비용은 생산 갯수에 따라 달라지는데 만약 가변 비용이 판매 비용보다 높다면 영원이 손익분기점이 발생 할 수 없다.
판매 비용이 가변 비용보다 높으면 언젠가는 손익분기점에 도달하는데 생산비용에서 가변비용을 빼고 그 값을 고정 비용에서 나누면 된다.
예로 들면, 100 / (10 - 9) = 100이 되는데 이 값은 손익분기점이 되므로 이 값을 넘어야 처음으로 이익이 발생한다.
즉, 위의 식을 코드로 바꾼 뒤 +1 해주면 답이 나온다.
코드
using System;
namespace workspace
{
class Program
{
public static void Main(string[] args)
{
int a, b, c = 0;
string[] arrInput = Console.ReadLine().Split(" ");
a = Convert.ToInt32(arrInput[0]);
b = Convert.ToInt32(arrInput[1]);
c = Convert.ToInt32(arrInput[2]);
if(b >= c)
{
Console.WriteLine(-1);
}
else
{
Console.WriteLine((a / (c - b)) + 1);
}
}
}
}
'Python > 백준' 카테고리의 다른 글
백준 단계별로 풀어보기 : 1316번 문제 (그룹 단어 체커) (0) | 2022.01.21 |
---|---|
백준 단계별로 풀어보기 : 2941번 문제 (크로아티아 알파벳) (0) | 2021.09.23 |
백준 단계별로 풀어보기 : 5622번 문제 (다이얼) (0) | 2021.09.22 |
백준 단계별로 풀어보기 : 2908번 문제 (상수) (0) | 2021.09.21 |
백준 단계별로 풀어보기 : 1152번 문제 (단어의 개수) (0) | 2021.09.21 |