백준 문제풀이/브론즈4
백준 1712번 - 손익분기점
void_melody
2021. 10. 16. 23:39
https://www.acmicpc.net/problem/1712
우선 핵심은 노트북이 몇 대일 때인지를 구하는 게 핵심이었다.
맨 처음 든 생각은 while문을 활용해서
while(A + B * n < C * n){ ....n++ } 을 해볼까 했으나 예제 2번에서 -1을 출력할 수가 없기도 하고
예제 3번처럼 수가 너무 커지면 메모리와 시간을 너무 낭비하니 그냥 식을 활용해볼까 했다.
우선 식이 저렇게 되는 상황에서,
예제 2번을 대입해보면, C-B가 음수가 되는 상황이 문제가 되는 걸 알 수 있다.
그걸 조건문으로 걸어서 활용해보았다.
#include <iostream>
using namespace std;
int main()
{
int A, B, C = 0;
int n = 0;
cin >> A >> B >> C;
if ((C - B) <= 0)
{
cout << -1;
return 0;
}
n = int(A / (C - B)) + 1;
cout << n;
return 0;
}
int()로 캐스팅을 해줬으니 당연히 내림을 해서 하나가 빌테니 +1을 해줘야한다.