슈콩

[BOJ] 백준 12865 평범한 배낭 본문

Algorithms/Baekjoon

[BOJ] 백준 12865 평범한 배낭

shukong 2025. 8. 27. 16:00

[문제]

https://www.acmicpc.net/problem/12865

 

[소스 코드]

import java.io.*;
import java.util.*;
public class Main {
    public static void main(String[] args) throws IOException {
    	BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	StringTokenizer st = new StringTokenizer(br.readLine());
    	int n = Integer.parseInt(st.nextToken());
    	int k = Integer.parseInt(st.nextToken());
    	int[] w = new int[n];
    	int[] v = new int[n];
    	for(int i=0;i<n;i++) {
    		st = new StringTokenizer(br.readLine());
    		w[i] = Integer.parseInt(st.nextToken());
    		v[i] = Integer.parseInt(st.nextToken());
    	}
    	int[][] dp = new int[n][k+1];
    	for(int j=1;j<=k;j++) {
    		if(j>=w[0]) dp[0][j] = v[0];
    	}
    	for(int i=1;i<n;i++) {
    		for(int j=1;j<=k;j++) {
    			dp[i][j] = dp[i-1][j];
    			if(j-w[i]>=0)
    				dp[i][j] = Math.max(dp[i-1][j], dp[i-1][j-w[i]]+v[i]); 
    		}
    	}
    	System.out.println(dp[n-1][k]);
    }
}

'Algorithms > Baekjoon' 카테고리의 다른 글

[BOJ] 백준 11501 주식  (4) 2025.08.27
[BOJ] 백준 11399 ATM  (0) 2025.08.27
[BOJ] 백준 1026 보물  (0) 2025.08.27
[BOJ] 백준 1931 회의실 배정  (2) 2025.08.27
[BOJ] 백준 11047 동전 0  (2) 2025.08.27