본문 바로가기

boj

백준 1107 리모컨

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)

'boj' 카테고리의 다른 글

백준 11170 0의 개수  (0) 2022.04.03
백준 1748 수 이어쓰기 1  (0) 2022.04.02
백준 1476 날짜 계산  (0) 2022.04.02
백준 3085 사탕 게임  (0) 2022.04.01
백준 1920 수 찾기  (0) 2022.03.31