[백준] 2292번 벌집

NCOOKIE·2022년 12월 8일
0

알고리즘

목록 보기
1/34

문제링크

풀이

마침 그림이 있어서 쉽게 규칙을 파악할 수 있었다. 한 개의 방을 지날 때에는 1, 두 개의 방을 지날 때는 2부터 7, 세 개의 방은 8부터 19, 네 개는 20부터 37, 그 다음은 38부터 61... 이걸 개수로 따져보면 아래와 같다.

1 : 1
2 : 6
3 : 12
4 : 18
5 : 24
6 : 30
.
.
.

이걸 코드로 구현해보자. 직관적으로 빼는 수를 6씩 늘려가며 0보다 작거나 같아질 경우 루프를 끝내게 했다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        int i = 0;

        if (n == 1) {
            System.out.println(1);
        } else {
            n =- 1;
            while (n > 0) {
                n -= i * 6;
                i++;
            }

            System.out.println(i);
        }
    }
}
profile
일단 해보자

0개의 댓글

관련 채용 정보