💡 문제 해결 아이디어
✨ 수정한 아이디어
- 최대한 가까운 숫자를 누르고 +-로 해결 vs +-로 해결 중 적은 횟수를 출력
- answer = abs(100 - n), +-로 해결할 때 누르는 횟수
- 10개 숫자 리스트에서 고장난 버튼 remove
- for i in 0부터 100000까지
- i를 구성하는 숫자들이 숫자 리스트에 전부 있다면
- answer = min(기존 정답, 자릿수 + (+- 횟수))
- print(answer)
🛠 피드백
- 왜 안되는지는 모르겠지만, N을 기준으로 위나 아래로 가면서 찾는 것은 틀린다.
- 그냥 무식하게 풀자!
💻 작성된 코드
N = int(input())
ls = [str(i) for i in range(10)]
M = int(input())
if M:
broken = list(input().split())
for b in broken:
ls.remove(b)
ls = set(ls)
answer = abs(100 - N)
for i in range(1000001):
for n in str(i):
if n not in ls:
break
else:
answer = min(answer, len(str(i)) + abs(i - N))
print(answer)