From 13ea91fd44b8534d60efc52a820e81174dce2f74 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Tue, 16 Dec 2025 23:21:50 +0900 Subject: [PATCH] =?UTF-8?q?[20251216]=20PGM=20/=20LV2=20/=20=EC=86=8C?= =?UTF-8?q?=EC=88=98=20=EC=B0=BE=EA=B8=B0=20/=20=EC=9D=B4=EC=9D=B8?= =?UTF-8?q?=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...4\354\210\230 \354\260\276\352\270\260.md" | 56 +++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 "LiiNi-coder/202512/16 PGM \354\206\214\354\210\230 \354\260\276\352\270\260.md" diff --git "a/LiiNi-coder/202512/16 PGM \354\206\214\354\210\230 \354\260\276\352\270\260.md" "b/LiiNi-coder/202512/16 PGM \354\206\214\354\210\230 \354\260\276\352\270\260.md" new file mode 100644 index 00000000..0394c0ef --- /dev/null +++ "b/LiiNi-coder/202512/16 PGM \354\206\214\354\210\230 \354\260\276\352\270\260.md" @@ -0,0 +1,56 @@ +```java +import java.util.*; + +class Solution { + private static boolean[] visited; + private static HashSet set; + private static char[] nums; + + public int solution(String numbers) { + nums = numbers.toCharArray(); + visited = new boolean[nums.length]; + set = new HashSet<>(); + + + dfs("", 0); + int answer = 0; + for(int n : set){ + if(isPrime(n)){ + answer++; + } + } + return answer; + } + + private void dfs(String now, int depth){ + if(now.length() > 0){ + set.add(Integer.parseInt(now)); + } + if(depth == nums.length){ + return; + } + + for(int i = 0; i < nums.length; i++){ + if(visited[i]){ + continue; + } + visited[i] = true; + dfs(now + nums[i], depth + 1); // String + char 가능 + visited[i] = false; + } + } + + private boolean isPrime(int n){ + if(n < 2){ + return false; + } + for(int i = 2; i <= n / 2; i++){ + if(n % i == 0){ + return false; + } + } + return true; + } +} + +```