기몽수
코딩 기록일지
기몽수
전체 방문자
오늘
어제
  • 분류 전체보기 (443)
    • 알고리즘 - SWEA (210)
      • D1 (19)
      • D2 (25)
      • D3 (143)
      • D4 (21)
      • D5 (2)
    • 알고리즘 - Programmers (74)
      • Unrated (34)
      • Lv 0 (4)
      • Lv 1 (3)
      • Lv 2 (32)
      • Lv 3 (1)
    • 알고리즘 - Baekjoon (158)
      • Bronze (1)
      • Silver (65)
      • Gold (90)
      • Platinum (2)
    • 취업 (0)
    • SSAFY (1)
hELLO · Designed By 김용수.
기몽수

코딩 기록일지

알고리즘 - SWEA/D3

[SW expert Academy] SWEA 3282번 0/1 Knapsack 자바(Java)

2023. 11. 9. 10:40

[D3] 0/1 Knapsack - 3282

문제 링크

성능 요약

메모리: 31,384 KB, 시간: 171 ms, 코드길이: 1,024 Bytes

제출 일자

2023-11-09 10:36

출처: SW Expert Academy, https://swexpertacademy.com/main/code/problem/problemList.do

import java.util.Scanner;
class Solution
{
	public static void main(String args[]) throws Exception {
		Scanner sc = new Scanner(System.in);
		int T = sc.nextInt();
		for(int tc = 1; tc <= T; tc++) {
            int n = sc.nextInt();
            int k = sc.nextInt();
            int[] weight = new int[n+1];
            int[] cost = new int[n+1];
            
            for(int i = 1; i <= n; i++){
                weight[i] = sc.nextInt();
                cost[i] = sc.nextInt();
            }
            int[][] dp = new int[n+1][k+1];
            for(int i = 1; i <= n; i++){
                for(int j =1; j <= k; j++){
                    if(weight[i] > j){
                        dp[i][j] = dp[i-1][j];
                    }else{
                        dp[ i ][ j ] = Math.max(dp[ i - 1 ][ j - weight [ i ] ] + cost[i]
                                                , dp[ i - 1 ][ j ] );
                    }
                }
            }
            System.out.println("#" + tc + " " + dp[n][k]);
		}
    }
}

 

i / j 1 2 3 4
1 2 2 2 2
2 2 2 2 3
3 2 2 2 4
4 2 4 4 5
5 2 4 6 6

 

i = 아이템 번호들

j = 각 무게별로 들 수 있는 아이템의 가중치

'알고리즘 - SWEA > D3' 카테고리의 다른 글

[SW expert Academy] SWEA 3809번 화섭이의 정수 나열 자바(Java)  (0) 2023.11.10
[SW expert Academy] SWEA 3304번 최장 공통 부분 수열 자바(Java)  (0) 2023.11.10
[SW expert Academy] SWEA 7985번 Rooted Binary Tree 재구성 자바(Java)  (0) 2023.11.09
[SW expert Academy] SWEA 5607번 조합 자바(Java)  (0) 2023.11.08
[SW expert Academy] SWEA 4676번 늘어지는 소리 만들기 자바(Java)  (0) 2023.11.08
    '알고리즘 - SWEA/D3' 카테고리의 다른 글
    • [SW expert Academy] SWEA 3809번 화섭이의 정수 나열 자바(Java)
    • [SW expert Academy] SWEA 3304번 최장 공통 부분 수열 자바(Java)
    • [SW expert Academy] SWEA 7985번 Rooted Binary Tree 재구성 자바(Java)
    • [SW expert Academy] SWEA 5607번 조합 자바(Java)
    기몽수
    기몽수

    티스토리툴바