숫자 1개를 부를때 1초가 걸린다고 했을 때, 새가 전부 없어지는 시간은 몇초 후 인지 알아맞추는 문제입니다.
예를들어 N = 5라 가정할때
남아있는 새 수 = x, 부른 숫자 수 = y 라 가정
(x, y) : (5, 1) -> (4, 2) -> (2, 1) -> (1, 1)
총 4초가 지나고 모든 새가 떠납니다.
🔔 Kick Point :
조건이 무엇인지 잘 생각해보면 쉽게 풀 수 있는 문제입니다.
우선 부른 숫자 > 남아 있는 새의 수 일경우 부른 숫자 =1 부터 다시 시작함을 조건으로 나타 낼 수 있으면
코드로 작성하기는 쉽게 하실 수 있겠습니다.
🔔 Code :
#include <iostream>
using namespace std;
int main() {
int N;
cin >> N;
int time = 0;
for (int i = 1; N > 0; i++) {
if (N < i) i = 1;
time++;
N -= i;
}
cout << time;
}