diff --git "a/0224LJH/202511/08 BOJ \353\246\254\353\252\250\354\273\250.md" "b/0224LJH/202511/08 BOJ \353\246\254\353\252\250\354\273\250.md" new file mode 100644 index 00000000..0841e7d7 --- /dev/null +++ "b/0224LJH/202511/08 BOJ \353\246\254\353\252\250\354\273\250.md" @@ -0,0 +1,66 @@ +```java +import java.io.BufferedReader; +import java.io.IOException; +import java.io.InputStreamReader; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.Queue; +import java.util.StringTokenizer; + +public class Main { + + static int ans,target; + static HashSet banSet = new HashSet<>(); + + public static void main(String[] args) throws IOException { + init(); + process(); + print(); + } + + private static void init() throws IOException{ + BufferedReader br = new BufferedReader(new InputStreamReader(System.in));; + target = Integer.parseInt(br.readLine()); + + int banCnt = Integer.parseInt(br.readLine()); + if (banCnt == 0) return; + StringTokenizer st = new StringTokenizer(br.readLine()); + for (int i = 0; i < banCnt; i++) { + banSet.add(Integer.parseInt(st.nextToken())); + } + } + + + private static void process() { + ans = Math.abs(target - 100); + + for (int i = 0 ; i < 1000000; i++) { + int num = i; + int diff = Math.abs(target - num); + int len = String.valueOf(num).length(); + boolean isPossible = true; + while(true) { + if (banSet.contains(num%10)) { + isPossible = false; + break; + } + + num /= 10; + if (num == 0) break; + } + + if (isPossible) ans = Math.min(ans, diff+len); + } + } + + + + private static void print() { + System.out.println(ans); + } +} + + +```