CS/Algorithm 문제
[BaekJoon] 백준 1107번 리모컨 - Python
심심231
2022. 9. 28. 00:14
[BaekJoon] 백준 1107번 리모컨 - Python
🎈문제
https://www.acmicpc.net/problem/1107
💬설명
범위가 작고, 시간은 많이 주어졌기 때문에 완전탐색으로 풀 수 있는 문제
1. +-만 썼을 때 얼마나 걸리는지 구한다.
2. 모든 범위에 대해 고장난 버튼이 없는 수를 찾아서 100에서 몇번 버튼을 눌러야하는지 계산해서 최소값을 업데이트 한다.
나는 고장난 버튼을 찾기 위해 set을 써서 교집합을 통해 비교해줬다.
👩💻코드
N = input()
M = int(input())
if M != 0:
broken = set(map(int, input().split()))
else:
broken = set()
# +-로 가는 횟수
answer = abs(100 - int(N))
# 반복문 돌면서 고장난 버튼 없는 수 중에 가장 결과값 작은거 찾기
for i in range(1000001):
i_li = set(map(int, str(i)))
if len(broken & i_li) == 0:
answer = min(answer, abs(int(N) - i) + len(str(i)))
print(answer)
728x90
반응형