Oct 16, 20191 min read ☕

[백준 - DP] 2748 - 피보나치 2 - 파이썬

출처 : 백준 2748 피보나치 2

문제

해당 문제는 피보나치 수열을 DP로 푸는 방법이다. 재귀로 피보나치 수열을 구할 때면 중복되는 연산을 다시 해야하는 경우가 발생해서 시간이 오래 걸린다. DP로 풀 때는 값을 array에 저장하기 떄문에 중복되는 연산을 하지 않고 바로 답을 가지고 올 수 있기 때문에 더 빠르게 문제를 풀 수 있다.

풀이

import sys

N = int(sys.stdin.readline())
arr = [0 for _ in range(N+1)]
arr[1] = 1

for i in range(2, N+1):
    arr[i] = arr[i-1] + arr[i-2]

print(arr[-1])
© 2021 Dojin Kim, Built with Gatsby