최적화 문제를 해결하기 위한 알고리즘 패러다임 중 하나로, 하위 문제의 해결 결과를 저장하고 활용하여 중복 계산을 피하는 방법 탑다운(DP with Memoization) 재귀적인 방식으로 문제를 해결하면서 중복 계산을 피하기 위해 이전에 계산한 결과를 메모리에 저장 재귀 함수와 메모이제이션(캐싱) 바텀업(Bottom-Up DP) 작은 부분 문제부터 시작하여 전체 문제의 해결 방법을 구하는 방식 반복문을 사용하며, 주로 반복적 동적 프로그래밍 또는 테이블을 활용 0/1 배낭 문제(Knapsack Problem) 일정한 용량을 가진 배낭에 가치와 무게가 다른 물건들을 넣을 때 최대 가치를 얻는 문제 무게 제한이 있는 배낭 문제와 무게 제한이 없는 배낭 문제로 나뉨 최장 증가 부분 수열(LIS - Longe..