반응형
https://www.acmicpc.net/problem/2292
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 |