practivceAlgorithm/백준

[백준][Python] 1107 리모컨

findTheValue 2021. 7. 28. 23:56

결국 만들 수 있는 최고 가까운 수에서 target넘버의 차만큼에 리모컨을 눌러 만든 숫자 i의 길이만큼의 버튼 cnt를 더한값을 최소로 하게 설계하는 것. 최초 DFS로 설계했다가 재귀횟수 초과남. 프루트포스풀이.

 

import sys
input = sys.stdin.readline

def can_push_num(num):
    num = list(str(num))
    for i in num:
        if i in broken: 
            return False
    return True

target = int(input())
m = int(input())
broken = list(input().split())
min_push = abs(target - 100)
for i in range(1000001):
    if can_push_num(i): 
        min_push = min(min_push, len(str(i)) + abs(i - target))
print(min_push)