Cute Running Puppy

algorithm/Baekjoon

[python] 2292_벌집

R.silver 2022. 2. 17. 20:19
반응형

 

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

 

2292번: 벌집

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

www.acmicpc.net

 

num = int(input())
honeycomb = [1]

while(1):
    if (num == 1):
        break
    else:
        honeycomb.append(honeycomb[-1] + (6 * len(honeycomb)))
        if(honeycomb[-1] >= num):
            break

print(len(honeycomb))

 

계차수열의 값들을 계산해서 리스트에 넣고 리스트의 개수를 세는 방식으로 코드를 작성하였다. 

 

다른 분들의 코드를 보니 

리스트를 사용하지 않고 변수 2개를 추가하여 코드를 구현하였다. 

(1. 리스트의 마지막 수를 담은 배열, 2. 리스트의 수를 담는 배열)

 

n = int(input())
num = 1
cnt = 1

while 1:
	if num >= n:
    	print(cnt)
    	break
    num += 6 * cnt
    cnt += 1
반응형

'algorithm > Baekjoon' 카테고리의 다른 글

[python] 2941_크로아티아 알파벳  (0) 2022.02.17
[python] 1712_손익분기점  (0) 2022.02.17
[python] 백준 2908_상수  (0) 2021.08.05
[python] 백준 1152_단어의 개수  (0) 2021.08.05
[python] 백준 1157_단어 공부  (0) 2021.08.04