Dynamic Programming (동적 계획법) 복잡한 문제를 간단한 문제(sub-problems)로 쪼개어 해결하는 알고리즘 ❓ 피보나치 수열 문제 예시 DP table를 사용하기 위해서는 다음 두 가지 조건을 만족해야 한다. 1. Optimal Structure (최적 부분 구조) 1-a. 해당 문제를 작은 문제로 분할할 수 있어야 한다. F(5)를 구하기 위해서는 F(4)와 F(3)을 계산해야 한다. 따라서 F(5) 문제를 F(4)와 F(3)이라는 작은 문제로 나누어 해결할 수 있다. 1-b. 작은 문제의 해결 방법을 통해 큰 문제의 해결 방법을 구할 수 있어야 한다. 피보나치 수열에서 n번째 항을 계산하기 위해서는 (n-1)번째 항과 (n-2)번째 항의 합을 계산해야 한다. 예를 들어, n=6..