티스토리 뷰

반응형
 

2292번: 벌집

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

www.acmicpc.net

 

풀이

import sys
N=int(sys.stdin.readline().rstrip())
count=1
a=1
while a<N:
    a=a+(6*count) #패턴 (1,7,19,37,61,91..이런식으로 6씩 늘어나는 수열)
    count+=1
print(count)

 

벌집은 육각형으로 되어 있고, 따라서 벌집의 한 둘레가 꽉 찰 때마다 6개의 변이 늘어난다고 보면 된다.

 

이는 패턴화되므로 1,7,19,37,61,91과 같은 패턴으로 만들 수 있고, N까지 a가 올라갈때마다 count를 증가시키면서 더해주면 결국 count가 방의 개수임을 알 수 있다.

 

딱히 더 설명할 것이 없는 문제이다. 패턴을 알아챘다면 쉽게 풀 수 있을 것이다.

반응형