

문제설명
수와 도형에 관련된 문제는 규칙성을 찾는 것이 가장 먼저겠죠? 먼저,가장 작은 육각형을 육각형1 이라고 할 때, 육각형을 둘러싸고 있는 육각형들의 집합을 육각형2, 육각형3.. 순으로 보았습니다. 가장 작은 육각형은 1, 두번째는 2, 3, 4, 5, 6, 7, 세번째는 8, 9...19 를 담고 있는데요, 저는 육각형 집합에 포함된 가장 큰 숫자들에 주목했습니다. 몇번째 육각형 집합인지가 곧 시작점에서 육각형에 도달하는 최소이동거리가 되겠죠? 각 육각형 집합에 포함된 가장 큰 숫자는 1, 7, 19, 37.. 순으로 증가하고, 이것은 1, 1+6, 1+6+12, 1+6+12+18로 바꾸어 쓸 수 있습니다. 이것은 고등학교 수학시간에 배운 계차수열의 형태네요. 계차수열은 수열의 인접한 두 항에 대하여, 뒤 항에서 앞 항을 뺀 값을 계차라고 하는데, 원래 수열의 계차들을 항으로 하는 수열을 원래 수열의 계차수열이라고 합니다. 계차수열 공식은 하단 이미지를 참고하시면 됩니다.

이 문제의 계차수열 일반항을 먼저 구해보면 a = 3*(k**2) - 3*k + 1가 나옵니다. 저는 while문으로 k값을 1씩 증가시키면서 n값이 a보다 작으면 k값을 출력하는 방식으로 코드를 구현하였습니다.
벌집 #2292 파이썬 코드
n = int(input())
k = 1
while True:
a = 3*(k**2) - 3*k + 1
if n <= a:
print(k)
break
k += 1

'백준 문제풀이 > 수학(Math)' 카테고리의 다른 글
백준 온라인 저지 - 영화감독 숌(#1436) 파이썬 (0) | 2022.01.11 |
---|---|
백준 온라인 저지 - ACM호텔(#10250) 파이썬 (0) | 2021.07.30 |
백준 온라인 저지 - 달팽이는 올라가고 싶다(#2869) 파이썬 (0) | 2021.07.30 |
백준 온라인 저지 - 분수찾기(#1193) 파이썬 (0) | 2021.07.30 |
백준 온라인 저지 - 손익분기점(#1712) 파이썬 (0) | 2021.07.30 |