1일 1백준

1일 1백준 : 2292번 벌집

gaonhae 2022. 6. 14. 18:43

1일 1백준 2일차, 오늘 푼 문제는 2922번 문제인 "벌집"이다.

 

 

 

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

 

2292번: 벌집

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

www.acmicpc.net

 

 

 

 

문제를 처음 봤을 때는 엄청나보이는 난이도에 많은 당황을 했다.

그러나 계차수열을 이용하면 된다는 것을 깨달았다.

 

계차수열을 반환해주는 함수를 하나 만들어서 사용하였다.

 

 

 

 

아래로 내리면 정답 코드가 나옵니다. 문제를 아직 풀지 않으신 분들은 주의해주세요.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

import java.util.Scanner;

public class pro1712 {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        
        int a = sc.nextInt();
        
        for(int i = 0 ; i < 100000 ; i++){
            if(a == 1){
                System.out.println(1);
                break;
            }
            if( func1712.func(i)+2 <= a && func1712.func(i+1)+1 >= a){
                System.out.println(i+2);
                break;
            }
        }
    }
}

class func1712 {
    public static int func(int i) {
        int num = 0;
        for (int a = 0; a <= i; a++) {
            num += 6 * a;
        }
        return num;
    }
}