[Python] BOJ 1107 - 리모컨
728x90
반응형
https://www.acmicpc.net/problem/1107
# 처음에 어떻게 풀어야 하지 막막했는데,, 알고보니 그냥 무지성 완전탐색 문제였다.
# M이 0일때는 remove_button이 주어지지않아 예외처리를 해주어야 한다.
(안하면 EOF Error 발생..)
N = int(input())
button = set(i for i in range(10))
M = int(input())
# button에서 사용할 수 없는 remove button을 제거해준다.
if M > 0:
remove_button = set(map(int,input().split()))
button -= remove_button
answer = abs(100 - N)
for i in range(1000001):
tf = True
for j in range(len(str(i))):
# 1부터 100만까지 확인해가며 각 자리수를 반복문을 돌며 사용할 수 있는 버튼인지
# 확인해준다. 사용못하는 버튼이면 tf = False로 바꿔준 뒤 break
if int(str(i)[j]) not in button:
tf = False
break
# tf가 True이면 answer값 갱신 ->
# 현재 숫자 누르는 횟수 len(str(i)) + 그 숫자에서 N까지의 차이 abs(i - N)
if tf:
answer = min(answer, len(str(i)) + abs(i - N))
print(answer)
(solved.ac 티어: 골드 5)
728x90
반응형
'문제풀이 > BaekjoonOnlineJudge' 카테고리의 다른 글
[Python] BOJ 1756 - 피자 굽기 (0) | 2021.10.16 |
---|---|
[Python] BOJ 11967 - 불켜기 (0) | 2021.10.15 |
[Python] 2042 - 구간 합 구하기 (0) | 2021.10.06 |
[Python] BOJ 2023 - 신기한 소수 (0) | 2021.10.03 |
[Python] BOJ 20003 - 거스름돈이 싫어요 (0) | 2021.10.02 |
TAGS.