문제로는 재귀로 푸는 횟수랑 DP로 푸는 횟수를 말했지만 제출해보니 사실상 둘 다 DP로 푸는 방법이고 재귀로 푸는 DP와 반복문을 통해 중첩해가는 DP로 문제가 구성되어 있다. def fib(n): if dp[n]: return dp[n] else: x = fib(n-1)+ fib(n-2) dp[n] = x return x n = int(input()) dp = [0]*(n+1) dp[1] = dp[2] = 1 fib(n) print(dp[n], n-2) 문제 오늘도 서준이는 동적 프로그래밍 수업 조교를 하고 있다. 아빠가 수업한 내용을 학생들이 잘 이해했는지 문제를 통해서 확인해보자. 오늘은 n의 피보나치 수를 재귀호출과 동적 프로그래밍으로 구하는 알고리즘을 배웠다. 재귀호출에 비해 동적 프로그래밍이..