[java] 백준 1568번 새알고리즘/백준2021. 8. 10. 17:07
Table of Contents
문제 요약
- 새들은 1부터 ~ 모든 자연수까지 오름차순으로 노래한다.
- 숫자 K를 노래할 때 K 마리만큼 날아간다.
- 남은 N마리의 새가 불러야 할 숫자보다 작으면 1부터 다시 부른다.
- 모든 새가 날아가기까지 총 몇 초가 걸리는지 출력. (날아가는데 1초)
문제 풀이
- K는 1씩 증가 N이 K보다 작아지기 전까지 N은 K만큼 감산
- 감산을 하는 동안 count를 하나씩 누적
- N이 K보다 작다면 3번과 같이 K를 1로 초기화시켜주고 다시 N에 K만큼 감산
- N이 0이 될 때까지 이 동작을 반복
- N이 0이 되면 반복문을 탈출하고 count 출력
1. N=14
K | N |
1 | 13 |
2 | 11 |
3 | 8 |
4 | 4 |
5 | -1 |
count = 4
2. N=4
K | N |
1 | 3 |
2 | 1 |
3 | -2 |
count = 2
3. N = 1
K | N |
1 | 1 |
count = 1
4. N = 0 -> 반복문 탈출하고 count 출력.
N이 주어진 범위가 없다 보니 N이 1마리 이상일 때 까지만 반복문이 돌 수 있도록 하였다.
나머지는 공책에 쓴 것과 문제 풀이 부분을 보면 쉽게 구현할 수 있다.
완성된 코드 🧐🧐
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = 1;
int count = 0;
while (N>0) {
if(N < K)
K = 1;
N -= K;
count++;
K++;
}
System.out.println(count);
}
}
'알고리즘 > 백준' 카테고리의 다른 글
[java] 백준 2506번 점수계산 (0) | 2021.08.12 |
---|---|
[java] 백준 2501번 약수 구하기 (4) | 2021.08.11 |
[java] 백준 2765번 자전거와 속도 (0) | 2021.08.10 |
[java] 백준 2523번 별 찍기 - 13 (6) | 2021.08.09 |
[java] 백준 5073번 삼각형과 세 변 (2) | 2021.08.09 |
@펄찌 :: Pearl's Story
펄의 일상이 궁금한 사람 요기~
즐거운 하루 되셨으면 좋겠습니다😊