코딩테스트/Python

[프로그래머스] 피보나치 수

yo~og 2021. 9. 10. 17:01

내 코드

def solution(n):
    p = [0 for i in range(n+1)]
    p[0] = 0
    p[1] = 1
    
    for i in range(2,n+1):
        p[i] = p[i-2] + p[i-1]
    return p[n]%1234567

p는 피보나치 수를 담은 리스트다. n번째까지 p의 앞원소와 두번째 앞원소의 합을 더해 넣어준다. 재귀는 시간초과떴다

 

다른사람 코드

def solution(n):
    f_list = [0,1]
    for i in range(2,n+1):
        f_list.append((f_list[i-2]%1234567+f_list[i-1]%1234567)%1234567)
    return f_list[-1]

이렇게 append를 사용해서도 할 수있다!