[문제]
https://www.acmicpc.net/problem/1107
[코드]
import sys
if __name__ == '__main__':
target = int(sys.stdin.readline().strip())
m = int(sys.stdin.readline())
if m: # 고장난 버튼이 있을 경우
broken = set(sys.stdin.readline().split())
else:
broken = set()
ans = abs(100 - target) # ++나 --로만 이동할 경우 : 최댓값
for channel in range(1000001):
for n in str(channel):
if n in broken: # 해당 숫자가 고장나있는 경우 break
break
else: # min(기존 답, 번호 누른 횟수 + 해당 번호에서 타겟까지의 차)
ans = min(ans, abs(channel - target) + len(str(channel)))
print(ans)
'문제풀이 > BOJ' 카테고리의 다른 글
[Python] BOJ/백준 5430번 AC (0) | 2021.08.31 |
---|---|
[Python] BOJ/백준 11723 집합 (0) | 2021.08.30 |
[Python] BOJ/백준 2606번 바이러스 (0) | 2021.08.30 |
[Python] BOJ/백준 11279번 최대 힙 (0) | 2021.08.28 |
[Python] BOJ/백준 1927번 최소 힙 (0) | 2021.08.28 |