Skip to main content

백준 1107 리모컨

·104 words·1 min· loading

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

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

풀이방법이 도저히 생각이 안나서 힌트를 얻었더니 그냥 노가다문제였다.

그냥 1부터 500000*2의 수까지 모두 돌면서, 만들수 있으면 n과의 거리를 구하고, 만들수없으면 넘어간다.

앞의 조건 ‘고장난버튼이있는 경우에는 셋제줄에 고장난버튼이 주어진다’ 때문에 고생했다.

고장난버튼이 0일때 입력을 받으면 eof에러가 나므로, 이경우만 예외처리해주면 된다.

노가다풀이

n=int(input())m=int(input())if m:    nobutton=input().split()else:
    nobutton=[]answer=abs(n-100) # +또는-만눌렀을때for i in range(1000001):
    flag=True    press_cnt=0    for j in str(i):        press_cnt+=1
        if j in nobutton:            flag=False            break    if flag:
        tmp=press_cnt+abs(n-i)        if tmp<answer:            answer=tmp
print(answer)