[백준_2292] 벌집 - JAVA

jm_25·2021년 11월 15일
0

알고리즘

목록 보기
3/40
post-thumbnail

문제출처

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


풀이

  1. 벌집 문제는 수학 문제이다.
  2. 숫자가 증가함에 따라 몇개의 방을 지나가는지를 카운트하면 된다.
    1 = 1
    2~7 = 2
    8~19 = 3
    20~37 = 4
    38~61 = 5
    62~91 = 6
    ...
    위와 같이 숫자가 증가함에 따라 방 카운트가 정해지므로, 입력 N이 어느 범위에 들어가는지만 체크하면 해결할 수 있는 문제이다.

코드

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException {
        BufferedReader bufferedReader = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer stringTokenizer = new StringTokenizer(bufferedReader.readLine());
        int N = Integer.parseInt(stringTokenizer.nextToken());
        int count = 1;
        int number = 1;
        while (true) {
            if (N == 1) {
                System.out.println(1);
                return;
            }
            number += 6 * count;
            if (N <= number) {
                break;
            }
            count++;
        }
        System.out.println(++count);
    }
}

채점 결과

profile
매일 매일 한 개씩

0개의 댓글