diff --git "a/suyeun84/202509/12 PGM LV2 \353\271\204\353\260\200 \354\275\224\353\223\234 \355\225\264\353\217\205.md" "b/suyeun84/202509/12 PGM LV2 \353\271\204\353\260\200 \354\275\224\353\223\234 \355\225\264\353\217\205.md" new file mode 100644 index 00000000..4dbbc2c8 --- /dev/null +++ "b/suyeun84/202509/12 PGM LV2 \353\271\204\353\260\200 \354\275\224\353\223\234 \355\225\264\353\217\205.md" @@ -0,0 +1,39 @@ + ```java +import java.util.*; +class Solution { + static int answer = 0; + public int solution(int n, int[][] q, int[] ans) { + List list = new LinkedList<>(); + dfs(n, 1, list, q, ans); + + return answer; + } + + private void dfs(int n, int idx, List list, int[][] q, int[] ans) { + if (list.size() == 5) { + if(check(list, q, ans)) { + answer++; + } + return; + } + for (int i = idx; i <= n; i++) { + list.add(i); + dfs(n, i+1, list, q, ans); + list.remove(list.size() - 1); + } + } + + private boolean check(List list, int[][] q, int[] ans) { + int idx = 0; + for (int[] n : q) { + int cnt = 0; + for (int val : n) { + if (list.contains(val)) cnt++; + } + if (cnt != ans[idx]) return false; + idx++; + } + return true; + } +} +```