코딩테스트연습/백준

[백준 - JAVA] 2292번 벌집

:)jun 2021. 12. 18. 14:43

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

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

// 각 단계에서 가장 큰 숫자를 따라가니까 계차수열이네.
// 프로덕션코드

import java.util.Scanner;

public class Quiz2292 {
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        int N = scanner.nextInt();
        System.out.println(checkMinimumStep(N));
    }

    static int checkMinimumStep(int N) {
        int step = 1;
        int theLargestNumberInAStep = 1;

        if (N == 1) {
            return step;
        }

        while (true) {
            int Interval = 6 * step;
            theLargestNumberInAStep += Interval;
            step++;

            if (N <= theLargestNumberInAStep) {
                return step;
            }
        }
    }
}


// 성공! 1일때는 바로 리턴해주고 2부터는 while문에서 해결