벌집의 라인마다 숫자의 끝만 보면 수열이 보인다.
1, 7, 19, 37, 61 ...
A(n) = A(n-1) + 6 * (n-1)
즉, 6 6x2 6x3 6x4 ...인 등차수열을 포함하고 있다.
num = int(input())
count = 0
first = 1
while(True):
second = first + (6 * count)
if(num == 1):
print(1)
break
if first < num <= second:
print(count + 1)
break
else:
first = second
count += 1
규칙을 쉽게 못 찾아서 오래걸린 점이 아쉽다.
'알고리즘 > 백준' 카테고리의 다른 글
[BOJ] [Python] 1978번 : 소수 찾기 (0) | 2021.05.05 |
---|---|
[BOJ] [Python] 2869번 : 달팽이는 올라가고 싶다 (0) | 2021.05.04 |
[BOJ] [Python] 1260번 : DFS와 BFS (0) | 2021.04.12 |
[BOJ] [Python] 2775번 : 부녀회장이 될테야 (0) | 2021.04.10 |
[BOJ] [Python] 2839번 : 설탕 배달 (0) | 2021.04.09 |