풀이
그냥 다 돌려보자!
코드
#include <stdio.h>
int n, m, i, k, ans, res;
bool chk[10];
int hi(int a) {
int cnt = 0;
while (a) {
if (chk[a % 10]) return -1;
a /= 10;
cnt++;
}
return cnt;
}
int main() {
scanf("%d %d", &n, &m);
for (i = 0; i < m; i++) scanf("%d", &k), chk[k] = true;
ans = n - 100;
if (ans < 0) ans = -ans;
if (!chk[0]) ans = ans < n + 1 ? ans : n + 1;
for (i = n; i < 1111111; i++) {
res = hi(i);
if (res > 0) {
res += i - n;
ans = ans < res ? ans : res;
break;
}
}
for (i = n; i > 0; i--) {
res = hi(i);
if (res > 0) {
res += n - i;
ans = ans < res ? ans : res;
break;
}
}
printf("%d", ans);
return 0;
}
아무말
백준, 백준 온라인 저지, BOJ, Baekjoon Online Judge, C, C++, 씨, 씨쁠쁠, JAVA, algorithm, 자바, 알고리즘, 자료구조, 문제, 문제 풀이, 풀이