다이나믹 프로그래밍이란?


조건


  1. 최적 부분 구조(Optimal Substructure)

    → 큰 문제를 작은 문제로 나눌 수 있으며 작은 문제의 답을 모아서 큰 문제를 해결할 수 있음

  2. 중복되는 부분 문제 (Overlapping Subproblem)

    → 동일한 작은 문제를 반복적으로 해결해야 함

DP 기법 - TopDown, BottomUp