브루트포스 푸는 중 ... 골드 문제 풀기 전에 실버 문제들이 익숙해지면 올라오도록 해야겠다 ㅠㅠ...
import sys
input = sys.stdin.readline
n = int(input())
m = int(input())
remote = {str(x) for x in range(10)}
if m != 0:
remote -= set(input().split())
min_cnt = abs(100-n)
for k in range(1000001):
num = str(k)
print(num)
for i in range(len(num)):
if num[i] not in remote:
break
if i == len(num)-1:
min_cnt = min(min_cnt, abs(n-k)+len(num))
print(min_cnt)
이것도 결국 다른 분의 풀이를 봤다. 일단 내가 본 부르트포스의 특징은
여기서 알게 된 부분도 있는데, 어떤 집합에서 무언가를 제거해주고 싶을 때는
remote = {str(x) for x in range(10)}
if m != 0:
remote -= set(input().split())
이렇게 set을 먼저 만들어주고 그 후에 다른 set을 받아서 빼주기만 하면 된다는 점!
이건 정말 유용했다.
자만 NO! 차근차근 ~~~