처음에 문제가 이해 잘 안되서 몇번을 읽어본 것 같다.
문제를 풀어보면, N마리가 1,2,3,4...로 날아가는데 만약 다음 날아가야할 숫자보다 현재 남아있는 새의 숫자가 작으면 다시 1부터 날아간다.
한번 날아갈 때 마다 1이 걸린다고 했을 때, 총 몇초가 걸리는지 문제이다.
1마리가 날아가면 13마리가 남는다.
2마리가 날아가면 11마리가 남는다.
3마리가 날아가면 8마리가 남는다.
4마리가 날아가면 4마리가 남는다.
1마리가 날아가면 3마리가 남는다. --> 여기서 조건이 걸리게 되므로 다시 날아가야할 마리수가 1로 초기화 됨
2마리가 날아가면 1마리가 남는다.
1마리가 날아가면 0마리가 남는다.
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
int bird = 1;
int count = 0;
while (n >= 1) {
if (n < bird) {
bird = 1;
}
n -= bird;
bird++;
count++;
}
System.out.println(count);
}
}
-->여기서 조건이 걸리게 되므로 다시 날아가야할 마리수가 1로 초기화 됨
'알고리즘 문제' 카테고리의 다른 글
[알고리즘 문제] 백준2667 - 단지번호붙이기 (0) | 2019.07.12 |
---|---|
[알고리즘 문제] 백준1145 - 적어도 대부분의 배수 (0) | 2019.07.05 |
[알고리즘 문제] 백준1543 - 문서검색 (0) | 2019.07.03 |
[알고리즘 문제] 백준1343 - 폴리오미노 (0) | 2019.06.21 |
[알고리즘 문제] 백준1969 - DNA (0) | 2019.06.19 |