https://www.acmicpc.net/problem/1107
시간 2초, 메모리 256MB
input :
output :
조건 :
경우의 수를 생각했어야 한다.
번호를 눌러서 모든 경우를 따질 때에, 누르는 번호의 길이 + (n - i) 해서 구할 수 있고 /
100을 기준으로 + - 만 눌러서 움직이는 경우도 생각해야 한다.
abs(n - 100)
이 경우를 생각하지 못해서 풀이를 찾아 봤다...
그리고 반복문 돌리는데 채널이 0부터 50만이니까 0부터 시작해야 한다.....
채널은 무한대로 가능하니 50만을 기준으로 0 에서 부터 확인 한다면 100만에서부터 50만도 확인 해야 하니까 100만 까지 반복하자..
import sys
n = int(sys.stdin.readline())
m = int(sys.stdin.readline())
button = list(sys.stdin.readline().strip())
def check(num):
for item in num:
if item in button:
return False
return True
cnt = abs(n - 100)
for i in range(1000001):
str_num = str(i)
if check(str_num):
cnt = min(cnt, len(str_num) + abs(i - n))
print(cnt)