📝문제
💡아이디어
처음에 문제를 보고 포문에 그냥 다 돌리는 방법이 떠오르는데 이거맞아..?
싶은 생각이 들었다 딱히 다른 생각은 안나고 데이터는 3만개라서 일단 돌렸고 맞았다.
👩🏻💻풀이코드
start = int(input())
max = 0
cnt = 0
#무조건 i-j >=0
#두번째 숫자 선정
for i in range(1,start+1):
temp = [start, i]
for j in range(30001):
#앞에수에서 뺀게 양수이면 리스트에 어펜드
if temp[j]-temp[j+1] >= 0:
temp.append(temp[j]-temp[j+1])
else: break
#가장 많은 수를 만들 수 있는 숫자 찾기
if len(temp)>max:
max = len(temp)
second_num = i
temp.clear
print(max)
temp = [start, second_num]
for i in range(30001):
if temp[i] >= temp[i+1]:
temp.append(temp[i]-temp[i+1])
else: break
for i in range(len(temp)):
print(temp[i], end=" ")
🔍후기