[백준] 2635번 수 이어가기

거북이·2023년 1월 6일
0

백준[실버5]

목록 보기
60/114
post-thumbnail

💡문제접근

브루트포스 알고리즘을 적용해야겠다는 생각이 먼저 들었다. 일일이 하나하나 전부 확인해서 최적의 해를 찾아내는 것이 이 문제의 해답이다.
처음에 100%가 나와서 정답으로 알았는데 자세히 보니 맞왜틀이 나와서 어디가 문제인지 모르고 있었다가 질문 게시판에 있는 맞왜틀 사람들이 간과한 사항을 다시 읽어보고 코드를 조금 수정했더니 정답을 확인할 수 있었다.

💡코드(메모리 : 30748KB, 시간 : 64ms)

N = int(input())
MAX_lst = 0
result = []
for i in range(N, -1, -1):
    lst = []
    lst.append(N)
    lst.append(i)
    t = 0
    while True:
        if lst[t] - lst[t+1] < 0:
            if MAX_lst < len(lst):
                MAX_lst = len(lst)
                result = lst
            else:
                break
        else:
            lst.append(lst[t] - lst[t+1])
            t += 1

print(MAX_lst)
print(*result)

💡소요시간 : 10m

0개의 댓글