본문 바로가기

프로그래밍

[백준 1107 파이썬] 리모컨

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
# 1. 조건에 맞는 리스트 생성
# 2. Python 988ms
 
channel = int(input())      # Target
num_broken = int(input())   # 고장난 버튼 수
lst_broken = []             # 고장난 버튼 리스트
 
if num_broken >0:           # 0 < 일 경우에만 입력
    lst_broken = input().split()
 
start = 100     
MIN = abs(channel-start)    
lst_channels = []           # 조건에 맞는 채널만 담을 리스트
 
for num in range(0,1000000+1):      # 리스트 생성
    check = True
    for char in lst_broken:
        if char in str(num):
            check = False
            break
    if check:               # 조건에 부합할 경우 추가
       lst_channels.append(num)
 
for ch in lst_channels:     # 리스트에서 MIN 값 찾기
    if abs(ch-channel) +len(str(ch)) < MIN :
        MIN = abs(ch-channel) +len(str(ch))
 
 
print(MIN)