아카이브
article thumbnail
Published 2023. 8. 8. 11:28
2292번: 벌집 알고리즘/boj

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

 

2292번: 벌집

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

www.acmicpc.net

 

빨간색: 테두리 최대 방 번호, 초록색:테두리번호

풀이

각 테두리의 최대 방 번호를 구하고 N보다 커질 때 해당 테두리의 번호가 최소 이동거리가 된다.

각 테두리의 최대 방번호를 나열하면

1 = 1

7 = 1 + 6

19 = 1 + 6 +12

37 = 1 + 6 +12 +18

규칙성을 찾을 수 있다.

 

반복문으로 구현 후 출력하면 된다.


코드

//java8
import java.util.Scanner;

class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int N = sc.nextInt();

        int maxNum = 1;
        int cnt = 1;
        while (N > maxNum) {
            maxNum += 6*cnt;
            cnt++;
        }
        System.out.print(cnt);
    }
}

 

 

'알고리즘 > boj' 카테고리의 다른 글

1259번: 팰린드롬수  (0) 2023.08.09
15829번: Hashing  (0) 2023.08.09
2798번: 블랙잭  (0) 2023.08.08
profile

아카이브

@charoon

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!