출처 | https://www.acmicpc.net/problem/2292
n = int(input())
nums_pileup = 1 # 벌집의 개수, 1개부터 시작
cnt = 1
while n > nums_pileup :
nums_pileup += 6 * cnt # 벌집이 6의 배수로 증가
cnt += 1 # 반복문을 반복하는 횟수
print(cnt)
벌집의 모양을 보면 벌집의 개수가 6의 배수로 증가하며 규칙성 있게 한 겹씩 쌓이고 있다. 이 점을 이용해서 while문이 반복하면서 6의 배수로 숫자가 증가하는 코드를 작성해 보았다.
while문은 이 증가하는 숫자가 입력받은 수인 N에 도달할 때까지만 반복하도록 했고 반복문이 반복되는 동안에 반복 횟수를 카운트해서 이 카운트한 숫자를 마지막에 출력하도록 했다.