몽상실현개발주의

[BOJ] 1107 / 리모컨 / Python 파이썬 본문

Algorithm PS/BOJ

[BOJ] 1107 / 리모컨 / Python 파이썬

migrationArc 2021. 7. 11. 22:46

[BOJ] 1107 / 리모컨 / Python 파이썬

[BOJ] 1107 / 리모컨 / Python 파이썬

https://www.acmicpc.net/problem/1107

 

1107번: 리모컨

첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다.  둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼

www.acmicpc.net

 

풀이

처음 시도를 숫자가 조합되는 경우를 고려하는 방법으로 접근하였지만 풀지 못하였다.

 

다음 방법으로는 가능한 전체 채널 번호를 모두 탐색하는 방법으로 해결하였다.

 

이동하려고 하는 채널의 숫자가 비교적 작기 때문에,

완전탐색으로 충분히 가능하다는 것을 생각하지 못하고 어려운 방법 먼저 구상한것 같다.

 

 

N = int(input())
M = int(input())

brokens = []
if M:
    brokens = input().split()


def check(n):
    strN = str(n)

    for s in strN:
        if s in brokens:
            return False
    return True


res = abs(100-N)

for i in range(1000000):
    if check(i):
        res = min(res, len(str(i))+abs(i-N))

print(res)
Comments