백준 2635 수 이어가기

pudding·2022년 10월 14일
0

알고리즘.py

목록 보기
5/10

📝문제

💡아이디어
처음에 문제를 보고 포문에 그냥 다 돌리는 방법이 떠오르는데 이거맞아..?
싶은 생각이 들었다 딱히 다른 생각은 안나고 데이터는 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=" ")

🔍후기

  • 정신을 똑바로 차리고 풀자
    구현 문제는 풀다보면 중간에 딴생각하거나 잔실수 할 때가 있다..
    고등학교 때 수학문제 중간에 덧셈 실수하던 시절이 생각난다 ...
  • 근데 데이터가 3만건보다 훨씬 많으면?🤔
profile
영차 영차 개발 공부 기록 하기

0개의 댓글