링크 : https://www.acmicpc.net/problem/1107
1107번: 리모컨
첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼이
www.acmicpc.net
- 문제
- 소요시간: 2시간 실패
- 설계하기(접근방법)
1. 입력받기
목표 채널과
고장난 번호가 없으면 입력을 받지 말고
있으면 입력받는다
2. 구현하기
0 부터 1000000 즉
7자리 수까지
숫자를 모두 검사를 한다
고장난 번호가 있는 숫자는 제외하여
숫자를 눌러야 하는 횟수와 +- 버튼을 눌러야 하는 횟수(숫자의 차이) 를 더한 값중
최소를 출력한다
3. 출력하기
최소를 출력한다
- 코드(출력)
target = int(input())
ans = abs(100 - target)
m = int(input())
if m:
broken = list(input().split())
else:
broken = []
for num in range(1000001):
for N in str(num):
if N in broken:
break
else:
ans = min(ans, len(str(num)) + abs(num - target))
print(ans)
- 얻어갈 부분
1. 브루트 포스로 가능한 문제는 굳이 케이스를 다 나누지 말고 깡으로 검사하자
'알고리즘(백준) > 브루트 포스' 카테고리의 다른 글
[알고리즘/브루트 포스] 14889번 : 스타트와 링크 - python (0) | 2024.02.18 |
---|---|
[알고리즘/브루트 포스] 1182번 : 부분 수열의 합 - python (1) | 2024.01.15 |
[알고리즘/브루트 포스] 2503번 : 숫자 야구 - python (0) | 2024.01.15 |
[알고리즘/브루트 포스] 1018번 - python (1) | 2024.01.12 |
[알고리즘/브루트 포스] 1436번 : 영화감독 숌 - python (0) | 2024.01.12 |