문제요약
나의 코드 및 설명
- n : 첫 번째 수
- fin_num
- for i in range(1, n+1):
num_list = []
num_list.append(n)
num_list.append(i)
num_list.append(n-i)
j = 3
두 번째 수 i의 범위를 1~100 까지 넣어본다.(문제 속 두 번째 수는 양수라고 했기 때문에 0에서 100이 아닌 1에서 100이다.) 이 때 for문 안에 num_list 를 초기화함으로써 두 번째 수가 들어갈 때 마다 리스트가 초기화 될 수 있도록 한다. n-i 는 세 번째 수 이고, 총 num_list에 3개의 숫자가 담겨지므로, j = 3 이다. - while문 : 네 번째부터의 수(value)가 음수이면 반복문을 탈출하고, 양수라면 num_list에 value를 추가하고, 숫자의 개수(j)를 1 증가 시킨다. 이 때, j가 최대 값이면 갱신하고, fin_num에 num_list를 추가하고, 만약 j가 최대값이 아니라면 계속 반복문을 수행한다.
n = int(input())
fin = 0 #개수
fin_num = [] #그 숫자
for i in range(1,n+1):
num_list = []
num_list.append(n)
num_list.append(i)
num_list.append(n-i)
j = 3
while True:
value = num_list[j-2] - num_list[j-1]
if value < 0:
break
else:
j += 1
num_list.append(value)
if j >= fin:
fin = j
fin_num = num_list
else:
continue
print(fin)
for i in range(len(fin_num)):
print(fin_num[i],end = " ")
if i ==len(fin_num) - 1:
print()
'Baekjoon > IM Level' 카테고리의 다른 글
🥇[백준] 2116 주사위 쌓기 (골드5) / dict() ; rotate[key] >> value (0) | 2023.03.14 |
---|---|
[백준] 12927 배수 스위치 (실버4) (2) | 2023.03.14 |
[백준] 2564 경비원 (실버1) (0) | 2023.03.13 |
[백준] 2628 종이자르기 (실버5) (0) | 2023.03.10 |
[백준] 1244 스위치 켜고 끄기 (실버4) (0) | 2023.03.10 |