본문 바로가기
Algorithm

[DP/동적계획법] 백준 10826 피보나치 수 4 - Python

by jangThang 2022. 2. 14.
반응형

백준 온라인 저지

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    10826번: 피보나치 수 4

    피보나치 수는 0과 1로 시작한다. 0번째 피보나치 수는 0이고, 1번째 피보나치 수는 1이다. 그 다음 2번째 부터는 바로 앞 두 피보나치 수의 합이 된다. 이를 식으로 써보면 Fn = Fn-1 + Fn-2 (n ≥ 2)가

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     N번째 피보나치 수를 구하는 문제입니다.

     

    2022.02.12 - [Algorithm] - [Algorithm] 메모해두고 불러와서 사용하는 동적 프로그래밍(DP)

     

    [Algorithm] 메모해두고 불러와서 사용하는 동적 프로그래밍(DP)

    [ Contents ] 1. 동적 프로그래밍(Dynamic Programming, 동적계획법) 동적계획법(Dynamic programming, DP): 작은 문제들에 대한 결과를 배열(리스트)에 저장하고, 이를 이용해서 입력 크기가 더 큰 문제를 점진..

    star7sss.tistory.com

     동적계획법을 사용하면 쉽게 구할 수 있습니다.

     

     

    3. 코드

    N = int(input())
    
    def calFibonacci(n):
        cache = [0, 1] #fibo(0) = 0, fibo(1) = 1
        for i in range(2, n+1):
            cache.append(cache[i-1] + cache[i-2])
        return cache
    
    fibo = calFibonacci(N)
    print(fibo[N])

     cache로 N번째 피보나치 수까지 차례차례 구해줍니다. 이전 계산값을 저장해두기 때문에, 빠르게 불러와서 해결할 수 있습니다. 

     

    star가 되고나서 Tistory

    반응형

    댓글