이 문제는 유명한 DP문제 중 하나로 0-1 knapsack problem입니다. 배낭에 무게 제한을 넘지 않으면서 내용물의 가치의 합이 최대가 되는 물건들의 부분집합을 구하는 문제입니다. 물건을 쪼갤 수는 없습니다. 모든 부분집합을 구하는 경우는 $O(2^n)$의 시간이 걸리기 때문에 시간초과가 나게 됩니다. 점화식 배낭 문제에서 dp의 점화식은 다음과 같습니다. dp배열에서 x축은 물건의 인덱스 번호, y축은 자연수인 무게 값이 들어가게 됩니다. 기본적인 아이디어는 i 번째 물건을 집어 넣는 경우와 넣지 않는 경우 중에서 큰 값을 dp테이블에 저장하는 것입니다. 예제를 살펴보겠습니다. 가방의 무게 제한은 7이고 물건의 무게와 가치가 다음과 같이 주어졌습니다. 6 13 4 8 3 6 5 12 첫 번째 ..