Dynamic Programming (동적 계획법)Dynamic Programming(DP, 동적 계획법)은 복잡한 문제를 작은 하위 문제로 나누어 해결한 후, 결과를 저장하여 중복 계산을 피하는 최적화 기법→ 한 번 계산한 값을 저장해두고, 필요할 때 다시 사용함으로써 연산량을 줄이는 기법 조건DP를 사용하기 위한 조건 1. 최적 부분 구조 (Optimal Substructure)큰 문제를 작은 문제로 나누었을 때, 작은 문제의 최적해를 이용해 큰 문제의 최적해를 구할 수 있어야 한다. 예시)피보나치 수열f(N) = f(N−1) + f(N−2) → f(N-1)과 f(N-2)을 구하면 f(N)도 구할 수 있다.2. 중복되는 부분 문제 (Overlapping Subproblems)동일한 작..