본문 바로가기
코딩공부/백준 (python)

[백준 2292] 벌집 (Python)

by CodingKwon 2022. 3. 19.

문제 링크

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

 

2292번: 벌집

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

www.acmicpc.net

 

나의 코드 (Python)

n = int(input()) 	# 입력
cnt = 1 	# 시작은 1

while(True):
    if n <= 1: 	# 종료조건
        break
    else:
        n -= 6 * cnt 	# 벌집은 한겹을 지날수록 6의 배수만큼의 방이 생김
        cnt += 1
print(cnt)

 

벌집 문제는 첫 시작이 존재하기 때문에 카운팅을 1로 시작합니다.

입력받은 방에서 한 겹을 지날 때마다 6의 배수만큼 값을 줄여줍니다.

이때 입력 값이 1보다 작거나 같아진다면 이는 최소 방의 개수를 모두 지난 것입니다.

 

댓글