

문제를 어떤 식으로 접근해야 할지
고민하느라 시간이 꽤 걸린 듯하다.

벌집의 크기는
1개였다가 7개로 -> 19 -> 37 -> 61 ···
위 사진을 보면 6의 배수만큼 커지는 걸 볼 수 있다.
다른 경우도 동일하다.
1 -> 3 -> 11 -> 25 -> 45 ···
2에서 6만큼 커지면 8
8에서 6만큼 커지면 14
·
·
·
난 리스트로 벌집의 크기를 만들어주는
방식을 선택했다.
- N 입력 받기
- 벌집 리스트 만들기 (range)
- 리스트 인덱스를 위한 변수 생성 (i)
- 6씩 증가하는 변수 생성 (j)
- 현재 벌집 크기 리스트가 입력 받은 N의 값보다 작을 때까지만 while문으로 반복
- 벌집의 테두리를 한 겹 두르기.
📍 이전의 벌집 크기에서 6의 배수만큼 더한 값을 append- 인덱스 변수 1 증가, 6의 배수 변수 6 증가
- 출력
N = int(input())
range = [1, ] # 벌집 크기 리스트트
i = 0
j = 6
while range[i] < N : # N보다 작을 때까지 반복
range.append(range[i]+j) # 벌집 테두리 추가
i += 1
j += 6
print(len(range))
n = int(input())
nums_pileup = 1 # 벌집의 개수, 1개부터 시작
cnt = 1
while n > nums_pileup :
nums_pileup += 6 * cnt # 벌집이 6의 배수로 증가
cnt += 1 # 반복문을 반복하는 횟수
print(cnt)
영지공지님의 코드인데 이 방법도 좋은 듯하다.
그래도 나처럼 리스트로 작성한 사람은 못 봄.
^^