결국 만들 수 있는 최고 가까운 수에서 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)
'practivceAlgorithm > 백준' 카테고리의 다른 글
[백준][Python] 1300 K번째 수 : 이분탐색. (0) | 2021.07.29 |
---|---|
[백준][Python] 12852 1로만들기 2 : 방문 배열을 가져가는 dp (0) | 2021.07.28 |
[백준][Python] 6064 카잉달력 : 최소공배수 컨트롤 (0) | 2021.07.28 |
[백준][Python] 1655 가운데를 말해요 : 이중우선순위 큐로 end부분 중앙에 만들기. (0) | 2021.07.28 |
[백준][Python] 11051 이항계수2 (0) | 2021.07.28 |