From 07575ad9e8537e295e8e3c9b51717a8b5e329cd9 Mon Sep 17 00:00:00 2001 From: LiiNi-coder <97495437+LiiNi-coder@users.noreply.github.com> Date: Sun, 12 Oct 2025 23:37:50 +0900 Subject: [PATCH] =?UTF-8?q?[20251012]=20BOJ=20/=20G4=20/=20=EB=A6=AC?= =?UTF-8?q?=EB=AA=A8=EC=BD=98=20/=20=EC=9D=B4=EC=9D=B8=ED=9D=AC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...J \353\246\254\353\252\250\354\275\230.md" | 51 +++++++++++++++++++ 1 file changed, 51 insertions(+) create mode 100644 "LiiNi-coder/202510/12 BOJ \353\246\254\353\252\250\354\275\230.md" diff --git "a/LiiNi-coder/202510/12 BOJ \353\246\254\353\252\250\354\275\230.md" "b/LiiNi-coder/202510/12 BOJ \353\246\254\353\252\250\354\275\230.md" new file mode 100644 index 00000000..1c82e8e1 --- /dev/null +++ "b/LiiNi-coder/202510/12 BOJ \353\246\254\353\252\250\354\275\230.md" @@ -0,0 +1,51 @@ +```java +import java.io.*; +import java.util.*; + +public class Main { + private static boolean[] Broken = new boolean[10]; + private static int Target; + private static int M; + private static List availableButtons = new ArrayList<>(); + + public static void main(String[] args) throws IOException { + BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); + Target = Integer.parseInt(br.readLine()); + M = Integer.parseInt(br.readLine()); + + if(M > 0){ + StringTokenizer st = new StringTokenizer(br.readLine()); + for (int i = 0; i < M; i++) { + int b = Integer.parseInt(st.nextToken()); + Broken[b] = true; + } + } + + for(int i = 0; i <= 9; i++) { + if (!Broken[i]) availableButtons.add(i); + } + int minPress = Math.abs(Target - 100); + for(int num = 0; num <= 999999; num++){ + if (canMake(num)) { + int pressCount = String.valueOf(num).length() + Math.abs(num - Target); + //System.out.println(pressCount); + minPress = Math.min(minPress, pressCount); + } + } + System.out.println(minPress); + br.close(); + } + + private static boolean canMake(int num) { + if(num == 0) + return !Broken[0]; + while(num > 0){ + if (Broken[num%10]) + return false; + num /= 10; + } + return true; + } +} + +```