완전 탐색(Brute-force Search)
·
📚Algorithm/알고리즘 이론
아마 solved.ac를 통해서 문제를 풀다보면 구현이나 수학 문제를 제외하고 가장 처음 접하는 알고리즘일 것이다. (주위에 물어보면 그래도 들어는 봤다라고 하는 사람이 많았다.) 이름은 거창하지만 이 기법은 모든 가능성을 빠짐없이 탐색하는 방법이다. 이 표현도 다시 표현하면 노가다 정도로 말할 수 있겠다. 사실 일반 구현문제하고 비슷하다. 브루트 포스라고 해서 특별한 방법이 있는 것이 아니라 가능한 모든 경우의 수를 전부 확인할 수 있도록 코드를 짜면 그게 Brute force 탐색이다. 그럼 속으로 그냥 다 해보면 되는거니까 완전 쉬운거 아닌가? 라고 생각할 수 있는데 다 탐색하도록 코드를 구상하는 것이 생각보다 쉽지 않다. 구현력을 상당히 많이 필요로 하는 알고리즘이다. 코딩테스트에서도 거의 빠짐없..
[백준 13140번] Hello World! (Python/파이썬)
·
📚Algorithm/백준
https://www.acmicpc.net/problem/13140 13140번: Hello World! N이 주어질 때 hello + world = N을 만족하는 서로 다른 한 자리 자연수(0 포함) d, e, h, l, o, r, w를 구해서 아래 그림과 같은 형태로 출력하는 프로그램을 작성하여라. 단, h와 w는 0이 될 수 없다. www.acmicpc.net 문제 이름이 Hello World! 다. 뭔가 반가워서 시도했는데 문제도 되게 재밌는 문제다. 문제를 고민하다가 어차피 반복에 들어가는 범위가 0~10까지 밖에 안되므로 여러번 충접해도 1억 이내에 계산할수 있다. (파이썬은 보통 1초에 1억번 계산) 그래서 완전탐색(브루트포스)으로 경우의 수를 다 훓으면서 풀었다. import sys inp..
[백준 1107번] 리모컨 (Python/파이썬)
·
📚Algorithm/백준
https://www.acmicpc.net/problem/1107 1107번: 리모컨 첫째 줄에 수빈이가 이동하려고 하는 채널 N (0 ≤ N ≤ 500,000)이 주어진다. 둘째 줄에는 고장난 버튼의 개수 M (0 ≤ M ≤ 10)이 주어진다. 고장난 버튼이 있는 경우에는 셋째 줄에는 고장난 버튼 www.acmicpc.net 브루트포스 알고리즘, 즉 완전탐색을 이용하여 풀었다. 단순한 풀이긴 하지만 이것말고 생각나는 방법이 없었다. 1부터 1000000까지 만들수 있는 숫자들을 모두 구하고 그 숫자들과 이동할 채널의 차를 구해서 최솟값을 구하였다. 그리고 직접 (+, -) 버튼을 이용하여 이동하는 경우도 포함하여 마지막에 min함수로 비교해주었다. 완전탐색이라는 것만 안다면 별로 어렵지 않은 문제인거 ..
요플레에
'완전탐색' 태그의 글 목록