벌집의 숫자가 어떻게 늘어났을 경우, 경로가 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 |
'코딩 문제풀이 및 연습 > Python 연습' 카테고리의 다른 글
[백준] 5532_방학 숙제 파이썬 (if-else vs ceil함수) (0) | 2021.09.22 |
---|---|
[백준] 2953_나는 요리사다. (0) | 2021.09.21 |
[백준] 11650_좌표 정렬하기 파이썬 (lambda 활용) (0) | 2021.09.19 |
[백준] 1672_DNA 해독 파이썬 (0) | 2021.09.18 |
[백준] 1225_이상한 곱셈 파이썬 (시간초과 문제 해결하기) (0) | 2021.09.18 |