알고리즘 문제 풀이: 파이썬/BOJ

[BOJ_1107] 리모컨

hueco 2022. 1. 14.

 

문제 링크: https://www.acmicpc.net/problem/1107

 

1107번: 리모컨

첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다.  둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼

www.acmicpc.net

 

내 풀이 (Fail):

 

참고용 풀이 (Success):

Review:

 처음 문제를 접했을 때 완전 탐색이 아닌 N을 바로 만드는 경우에 대해서만 생각했고 그 결과가 위의 첫 번째 코드이다.

하지만 몇몇 테스트 케이스에서 실패하는 경우를 확인하고 어떻게 해결해야 할지 감이 잡히지 않아 구글링을 통해 다른 사람의 코드를 확인하며 문제를 다시 이해하려고 했다. 이 문제의 풀이가 기억이 나지 않을 때쯤 다시 풀어봐야 할 것 같다.

 

Idea:

 완전 탐색으로 문제에 접근한다. 주어지는 N의 값이 500,000까지이지만 고장난 채널이 1, 2, 3, 4, 5라면 600,000에서 숫자를 줄여나가는 것이 버튼을 최소한으로 누르는 경우가 된다. 따라서 낮은 숫자에서 1씩 더하는 경우와 높은 숫자에서 1씩 빼는 경우를 모두 고려하기 위해 1,000,000까지의 경우를 모두 탐색한다.

 

'알고리즘 문제 풀이: 파이썬 > BOJ' 카테고리의 다른 글

[BOJ_9461] 파도반 수열  (0) 2022.03.23
[BOJ_2578] 빙고  (0) 2022.03.04
[BOJ_1159] 농구 경기  (0) 2022.01.08
[BOJ_2744] 대소문자 바꾸기  (0) 2022.01.08
[BOJ_9933] 민균이의 비밀번호  (0) 2022.01.08

댓글