[백준 12865] 평범한 배낭
https://www.acmicpc.net/problem/12865 문제이해 가방에 최대 넣을 수 있는 무게 K, 각 물건의 무게 W, 가치 V가 주어졌을 때 가방에 담을 수 있는 최대 가치를 구해라. 풀이 주어진 조건에서 모든 경우의 수를 DFS나 BFS로 탐색한다면 연산량이 많아 시간 초과가 날 것이다. 그래서 DP로 접근했다. 처음에는 1차원 배열을 사용했다. 그러나 이 경우 같은 물건을 중복해서 넣는 오류가 발생했다. 예를 들어 K는 3이고 1, 5의 물건만 있다고 했을 때 입력: 1 3 1 5 가방의 무게 0 1 2 3 (1,5 입력) DP배열 0 5 0 0 가방의 무게 0 1 2 3 (1,5 입력) DP배열 0 5 10 0 가방의 무게 0 1 2 3 (1,5 입력) DP배열 0 5 10 15 이런식으로 업데이트되어 15를 출력한다. 그래서 가방의 무게 0 1 2 3 4 5 6 7 (6,13 입력) DP배열 0 0 0 0 0 0 13 13 (4,8 입력) DP배열 0 0 0