코딩 문제풀이 및 연습/Python 연습
[백준] 2292_벌집 파이썬
starnova
2021. 9. 19. 22:49
벌집의 숫자가 어떻게 늘어났을 경우, 경로가 1씩 늘어나는지 알기만 하면 간단하다.
1을 기준으로 봤을 때, 각 경로가 1씩 늘어나는 기점(=최댓값)이 1 - 7 - 19 - 37 - 61 --- 로 증가한다.
그리고 이 사이의 숫자는 6 - 12 - 18 --- 6의 배수로 증가한다.
따라서, 다음과 같이 코드를 짜면 간단히 해결된다.
1
2
3
4
5
6
7
8
9
10
11
|
num = int(input())
i = 0
prevNum = 1
while True:
if num > prevNum + 6 * i:
prevNum += 6 * i
i += 1
else:
print(1 + i)
break
|
cs |
문제 출처: https://www.acmicpc.net/problem/2292
2292번: 벌집
위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌
www.acmicpc.net