Adventure Time - Jake [백준/python] 2292 벌집: 먼저 규칙을 찾고 어떻게 풀어낼 지 생각하는 문제
본문 바로가기
Back-end/백준(python)

[백준/python] 2292 벌집: 먼저 규칙을 찾고 어떻게 풀어낼 지 생각하는 문제

by bogyoi 2023. 10. 25.

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

2292번: 벌집

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

www.acmicpc.net

 

1개) 1 ->1개

2개) 2,3,4,5,6,7 ->6개

3개) 8,9,10,..19 ->12개

4개) 20,21,.. 37 ->18개

5개) 38,39,.. 61 ->24개

6)

...

라는 규칙을 찾았다.

 

N=int(input())
cnt=1

while(N>1):
  N-=6*cnt
  cnt+=1
print(cnt)
 

성공!

 

n = int(input())

nums_pileup = 1  # 벌집의 개수, 1개부터 시작
cnt = 1
while n > nums_pileup :
    nums_pileup += 6 * cnt  # 벌집이 6의 배수로 증가
    cnt += 1  # 반복문을 반복하는 횟수
print(cnt)
 

위는 다른 사람이 작성한 코드이다.

거의 비슷한데, 나는 벌집의 개수를 나타내는 변수를 따로 선언하지않고 N에서 6의 배수씩 감소하며 while문을 수행하도록 했다.