티스토리 뷰

코딩/자바 백준

백준 2292 벌집 (JAVA)

박상어 2020. 7. 23. 16:37
728x90

백준 2292번

 

백준 2292번 링크 : https://www.acmicpc.net/problem/2292

 

2292번: 벌집

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

www.acmicpc.net

 

문제 요약 : 수열 계산

 

처음 문제를 보고 굉장히 어려울 것이라 예상했는데 의외로 패턴만 파악하면 쉽게 해결될 문제였습니다.

 

숫자를 먼저 확인해 봅시다.

 

처음 한 칸은 처음을 상징하는 1 입니다.

 

이 후 2부터 7까지는 1에서 옆으로 한 칸 이동하여 이동거리가 2 입니다.

 

그 다음 8부터 19까지는 한 칸 더 이동하여 이동거리 3 ...

 

 

육각형 모양으로 이동거리가 커지는 것을 확인 할 수 있다.

 

그림을 그려가며 패턴을 확인해보면 육각형 모양으로 이동거리가 커지는 것을 확인할 수 있었습니다.

육각형인 만큼 숫자 범위또한 6의 배수로 증가합니다.

 

이것을 토대로 코드를 짜보면

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
import java.io.*;
 
public class Main {
    public static void main (String args[]) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        String s = br.readLine().trim();
        int N = Integer.parseInt(s);
        br.close();
        int cnt = 0;
        int six = 1;
        while(N>0){
            N = N - six;
            cnt += 1;
            six = 6 * cnt;
        }
        
        int res = cnt;
        
        System.out.println(res);
    }
}
 
cs

 

입력된 숫자 N만큼 6의 배수만큼 줄인 횟수를 계산하면 됩니다.

 

 

백준 결과

 

백준 결과

 

'코딩 > 자바 백준' 카테고리의 다른 글

백준 1912 JAVA (연속합)  (0) 2021.05.15
해시맵 복습 (완주하지 못한 선수) JAVA  (0) 2021.05.04
백준 15649 N과 M (1) JAVA  (0) 2021.05.04
백준 1157 단어공부(JAVA)  (0) 2020.07.20
Java_Eclipse 설치 및 사용법  (0) 2020.06.28
댓글