문제풀이/백준 문제
BackJoon_1107 리모컨
HSWSH
2023. 9. 3. 15:16
package sanghee;
import java.util.Scanner;
public class 리모컨_1107 {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String N = sc.next();
int M = sc.nextInt();
int getBroken[] = new int[10];
for(int i=0; i<M; i++){
getBroken[sc.nextInt()] = -1;
}
if(N.equals("100"))
System.out.println(0);
else {
int min = Integer.MAX_VALUE;
String v = "";
String closer = "";
for (int i = 0; i < 1000000; i++) {
boolean isOk = true;
v = i + "";
for (int j = 0; j < v.length(); j++) {
if (getBroken[v.charAt(j) - '0'] == -1) {
isOk = false;
break;
}
}
if (isOk) {
if (min > Math.abs(Integer.parseInt(N) - Integer.parseInt(v))) {
min = Math.abs(Integer.parseInt(N) - Integer.parseInt(v));
closer = v;
}
}
}
int result1 = Math.abs(Integer.parseInt(N) - 100);
if (closer.equals("")){
System.out.println(result1);
}
else {
int result2 = Math.abs(Integer.parseInt(N) - Integer.parseInt(closer)) + closer.length();
if (result1 > result2){
System.out.println(result2);
}
else{
System.out.println(result1);
}
}
}
}
}