알고리즘 공부/파이썬(Python)

백준 2635번 수 이어가기 파이썬

마달랭 2024. 7. 11. 23:59
반응형

리뷰

브루트포스 알고리즘 풀이 범위가 3만이라 시간초과는 나지 않았다.

 

문제 풀이

  1. 주어지는 수를 받아오고 최대 길이와 최고로 긴 리스트를 체크할 변수를 초기화 해준다.
  2. 두번째로 올 수를 1부터 n까지 수를 대입하여 각각의 경우의 수를 찾고 최대 리스트를 최신화 해준다.
  3. for문이 종료된 후 최적의 리스트의 길이와 리스트 출력

 

 

참고 사항

없음

 

 

정답 코드

n = int(input())
max_len = 0
best_lst = []
for i in range(1, n + 1):
    current_lst = [n, i]
    while 1:
        temp = current_lst[-2] - current_lst[-1]
        if temp < 0:
            break
        else:
            current_lst.append(temp)
    if max_len < len(current_lst):
        max_len = len(current_lst)
        best_lst = current_lst
print(max_len)
print(*best_lst)

 

 

728x90
반응형