알고리즘
[알고리즘 / 백준] 1568 - 새
DevBee
2020. 11. 13. 09:41
문제는 위와 같으며 단순하게 새의 숫자가 0이 될때까지 반복하여 자연수를 빼주면 해결할 수 있습니다. 단, 자연수가 남은 수의 새보다 커지는 경우 자연수를 다시 1로 변경해야 합니다.
파이썬 코드는 다음과 같습니다.
from sys import stdin
birds = int(stdin.readline())
num = 1
time = 0
while birds != 0:
if num > birds:
num = 1
birds -= num
time += 1
num += 1
print(time)
자바 코드는 다음과 같습니다.
import java.io.BufferedReader;
import java.io.InputStreamReader;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int birds = Integer.parseInt(br.readLine());
int num = 1;
int time = 0;
while (birds != 0) {
if (num > birds) {
num = 1;
}
birds -= num;
time += 1;
num += 1;
}
System.out.println(time);
}
}