본문 바로가기
Java/백준

[java 백준] 브론즈 2/1568번 새

by Meaning_ 2021. 7. 17.
728x90
반응형

https://www.acmicpc.net/problem/1568

 

1568번: 새

N마리의 새가 나무에 앉아있고, 자연수를 배우기 원한다. 새들은 1부터 모든 자연수를 오름차순으로 노래한다. 어떤 숫자 K를 노래할 때, K마리의 새가 나무에서 하늘을 향해 날아간다. 만약, 현

www.acmicpc.net

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import java.util.Scanner;
 
public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int num = sc.nextInt();
        int sum = 1;
        int numCount = 0;
        while (num != 0) {
 
            num -= sum;
            sum++;
            numCount++;
            if (num < sum) {
                sum = 1;
            }
 
        }
 
        System.out.println(numCount);
 
    }
 
}
cs

 

 

처음에는 while문을 두번 쓰는 비효율적인 코드를 생각했는데, 문제의 핵심은 새의 개수가 0이 될 때 끝나는 것에 있었다.

그래서 새의 개수인 num!=0을 while문에 조건으로 넣어두고 컴파일 시키면 된다!

728x90
반응형

댓글