BOJ/Python

백준 2292번 벌집 파이썬

띵지니어 2022. 3. 28. 15:14
반응형

https://www.acmicpc.net/problem/2292

 

2292번: 벌집

위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌

www.acmicpc.net

 

내 답안

import sys

input = sys.stdin.readline

N = int(input())
if N == 1:
    print(1)
else:
    for i in range(1, N):
        if 3*(i**2) - 3*i + 2 <= N < 3*((i+1)**2) - 3 *(i+1) + 2:
            print(i+1)
            break

1, 2, 8, 20, 38 ... 일 때 방이 하나씩 늘어 나는 걸 알 수 있다.

계차 수열의 일반 항을 구하면

N ≥ 1 부터

이렇게 나오기 때문에

입력하는 수가 몇 번째 방에 있는지 수열의 일반 항을 통해 쉽게 구할 수 있다.

반응형
목차(index)