반응형
백준 - 단계별로 풀어보기 [1712]
https://www.acmicpc.net/problem/1712
문제
고정 비용 A와 노트북 한대를 생산하는데에 필요한 가변 비용 B 그리고 노트북 판매 가격 C를 입력받고, 손익분기점을 구하는 문제이다. 손익분기점이 발생하지 않는 경우에는 -1을 출력하면 된다.
풀이
단순히 해결 할 수 있는 문제이다. 오히려 반복문등을 활용한 풀이를 할 경우 시간초과가 발생할 수 있다.
결국 구해야하는 값은, 노트북 생산 단가 B와 판매 가격 C를 고려했을때 몇대를 팔아야 고정비용을 넘길 수 있느냐이기 때문에,
A / (C-B)에 1을 더한값이 구하고자 하는 값이다.
코드
#include <iostream>
using namespace std;
int main() {
int a,b,c;
cin >> a >> b >> c;
int profit = 0;
int cost = 0;
if(c <= b)
{
cout << "-1";
return 0;
}
cout << a/(c-b) + 1;
return 0;
}
평가
수식을 활용하지 않고, 다른 방법으로 풀이하게 될 경우 시간 초과가 발생하도록 설계된 문제이다.
문제를 단순히 Brute Force방식으로 해결하려고 하지 말고, 최대한 규칙과 점화식을 찾아 낸 후 단번에 계산하는 방법을 알아 내야 한다.
반응형
'Algorithm > Baekjoon BOJ' 카테고리의 다른 글
[백준 / BOJ] - 2292번 벌집 C++ 풀이 (2) | 2020.02.10 |
---|---|
[백준 / BOJ] - 2839번 설탕 배달 C++ 풀이 (0) | 2020.02.10 |
[백준 / BOJ] - 1316번 그룹 단어 체커 C++ 풀이 (0) | 2020.02.09 |
[백준 / BOJ] - 2941번 크로아티아 알파벳 C++ 풀이 (2) | 2020.02.07 |
[백준 / BOJ] - 1152번 단어의 개수 C++ 풀이 (0) | 2020.02.06 |