From 48493f968808b07fd9b2e55b504f891b5b318f68 Mon Sep 17 00:00:00 2001 From: suyeun84 <81475092+suyeun84@users.noreply.github.com> Date: Fri, 19 Sep 2025 23:34:35 +0900 Subject: [PATCH] =?UTF-8?q?[20250919]=20PGM=20/=20LV2=20/=20=EC=99=84?= =?UTF-8?q?=EC=A0=84=EB=B2=94=EC=A3=84=20/=20=EA=B9=80=EC=88=98=EC=97=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...04\354\240\204\353\262\224\354\243\204.md" | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 "suyeun84/202509/19 PGM LV2 \354\231\204\354\240\204\353\262\224\354\243\204.md" diff --git "a/suyeun84/202509/19 PGM LV2 \354\231\204\354\240\204\353\262\224\354\243\204.md" "b/suyeun84/202509/19 PGM LV2 \354\231\204\354\240\204\353\262\224\354\243\204.md" new file mode 100644 index 00000000..e69f20c3 --- /dev/null +++ "b/suyeun84/202509/19 PGM LV2 \354\231\204\354\240\204\353\262\224\354\243\204.md" @@ -0,0 +1,27 @@ +```java +import java.util.*; +class Solution { + static final int INF = 100000; + public int solution(int[][] info, int n, int m) { + int size = info.length; + int[][] dp = new int[size+1][m]; + for (int i = 0; i <= size; i++) { + Arrays.fill(dp[i], INF); + } + dp[0][0] = 0; + for (int i = 1; i <= size; i++) { + int a = info[i-1][0]; + int b = info[i-1][1]; + for (int j = 0; j < m; j++) { + dp[i][j] = Math.min(dp[i][j], dp[i-1][j] + a); // a선택 + if (j + b < m) { + dp[i][j+b] = Math.min(dp[i][j+b], dp[i-1][j]); // b선택 + } + } + } + int answer = INF; + for (int j = 0; j < m; j++) answer = Math.min(dp[size][j], answer); + return answer >= n ? -1 : answer; + } +} +```