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을 해줘야한다.
'백준 문제풀이 > 브론즈4' 카테고리의 다른 글
백준 2525번 - 오븐 시계 (0) | 2021.10.17 |
---|---|
백준 2480번 - 주사위 세 개 (0) | 2021.10.17 |
백준 2420번 - 사파리 월드 (0) | 2021.10.17 |
백준 1330번 - 두 수 비교하기 (0) | 2021.10.16 |
백준 1297번 - TV크기 (0) | 2021.10.16 |