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 |