본문 바로가기
CS/알고리즘

[알고리즘] 브루트 포스(brute force) 알고리즘

by 서현 SEOHYEON 2023. 1. 16.

🟡 브루트 포스(brute force) 알고리즘

- 모든 경우의 수를 탐색하면서 요구조건에 충족되는 결과를 가져오는 알고리즘

- 무조건 답이 나옴(해가 하나이상 존재한다는 가정을 세우고 모든 범위를 탐색함)

- 숫자가 3개 달린 자물쇠가 있을 때, 000부터 999까지 숫자를 하나씩 넣어보면 시간이 오래 걸리더라도 자물쇠가 열릴것이다.

 

- 큰 특징: 전체 탐색

- 선형 구조를 전체적으로 탐색하는 순차 탐색, 비선형 구조를 전체적으로 탐색하는 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)이 존재

 

- 장점: 알고리즘 설계, 구현이 매우 쉽다

- 단점: 자원이 문제, 복잡도에 매우 민감(시간이 오래걸리고, 메모리에서 비효율적)

 

 

🟡 문제 풀이 방법

① 문제에서 주어진 자료를 구조화(선형 or 비선형)한다.

② 구조화 된 자료들을 구조에 맞는 방법으로 해를 구할 때 까지 탐색한다.

③ 탐색한 해를 주어진 문제의 출력 형식에 맞게 정리한다.

댓글