[백준_2292] 벌집

wkkyu08·2021년 8월 5일
0

백준

목록 보기
17/17

🔴 문제


🟢 풀이

1번 방을 중심, 2번 방부터 7번 방까지를 2번 껍질, 8번 방 부터 19번 방까지를 3번 껍질이라고 했을 때, N번 방까지 갈 때 지나는 방의 개수는 N번 방이 있는 껍질 번호와 같다.

껍질 번호를 알아내기 위해서는 해당 껍질의 마지막 방의 번호를 보면 규칙이 보인다.

1번 껍질의 1번
2번 껍질의 7번
3번 껍질의 19번
4번 껍질의 37번
5번 껍질의 61번
.
.
.
이와 같이 껍질 번호를 n번이라 했을 때, 다음 껍질의 마지막 방의 번호는 n*6씩 증가하는 것을 볼 수 있다!

설명은 살짝 길었지만 코드는 아주 짧다.

import sys

N = int(sys.stdin.readline())

end = 1 # 마지막 방의 번호
step = 1 # 껍질의 번호
while True:
    if N <= end:
        print(step)
        break
    end += step*6
    step += 1

0개의 댓글

관련 채용 정보