From 672c00690877360f72ae328ba479ab256f22036e Mon Sep 17 00:00:00 2001 From: zinnnn37 Date: Sun, 9 Nov 2025 00:44:05 +0900 Subject: [PATCH] =?UTF-8?q?[20251109]=20PGM=20/=20LV2=20/=20=ED=94=BC?= =?UTF-8?q?=EB=A1=9C=EB=8F=84=20/=20=EA=B9=80=EB=AF=BC=EC=A7=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../9 PGM LV2 \353\215\230\354\240\204.md" | 34 +++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 "zinnnn37/202511/9 PGM LV2 \353\215\230\354\240\204.md" diff --git "a/zinnnn37/202511/9 PGM LV2 \353\215\230\354\240\204.md" "b/zinnnn37/202511/9 PGM LV2 \353\215\230\354\240\204.md" new file mode 100644 index 00000000..a3a84d96 --- /dev/null +++ "b/zinnnn37/202511/9 PGM LV2 \353\215\230\354\240\204.md" @@ -0,0 +1,34 @@ +```java +public class PGM_LV2_피로도 { + + private static int N, ans; + private static boolean[] visited; + private static int[][] dungeons; + + private static void init(int[][] d) { + N = d.length; + ans = 0; + dungeons = d; + visited = new boolean[N]; + } + + private static void sol(int depth, int stamina, int cnt) { + ans = Math.max(ans, cnt); + + for (int i = 0; i < N; i++) { + if (visited[i] || stamina < dungeons[i][0]) continue; + + visited[i] = true; + sol(depth + 1, stamina - dungeons[i][1], cnt + 1); + visited[i] = false; + } + } + + public int solution(int k, int[][] d) { + init(d); + sol(0, k, 0); + + return ans; + } +} +``` \ No newline at end of file