[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
반응형
'CS > Algorithm 문제' 카테고리의 다른 글
[BaekJoon] 백준 7576번 토마토 - Python (0) | 2022.10.09 |
---|---|
[BaekJoon] 백준 7569번 토마토 - Python (0) | 2022.10.02 |
[Programmers] 두 큐 합 같게 만들기 - python (0) | 2022.09.27 |
[Programmers] 성격 유형 검사하기 - Python (0) | 2022.09.18 |
[Programmers] 행렬 테두리 회전하기 (0) | 2021.11.04 |