🟡 브루트 포스(brute force) 알고리즘
- 모든 경우의 수를 탐색하면서 요구조건에 충족되는 결과를 가져오는 알고리즘
- 무조건 답이 나옴(해가 하나이상 존재한다는 가정을 세우고 모든 범위를 탐색함)
- 숫자가 3개 달린 자물쇠가 있을 때, 000부터 999까지 숫자를 하나씩 넣어보면 시간이 오래 걸리더라도 자물쇠가 열릴것이다.
- 큰 특징: 전체 탐색
- 선형 구조를 전체적으로 탐색하는 순차 탐색, 비선형 구조를 전체적으로 탐색하는 깊이 우선 탐색(DFS), 너비 우선 탐색(BFS)이 존재
- 장점: 알고리즘 설계, 구현이 매우 쉽다
- 단점: 자원이 문제, 복잡도에 매우 민감(시간이 오래걸리고, 메모리에서 비효율적)
🟡 문제 풀이 방법
① 문제에서 주어진 자료를 구조화(선형 or 비선형)한다.
② 구조화 된 자료들을 구조에 맞는 방법으로 해를 구할 때 까지 탐색한다.
③ 탐색한 해를 주어진 문제의 출력 형식에 맞게 정리한다.
'CS > 알고리즘' 카테고리의 다른 글
[알고리즘] 정렬 - 삽입 정렬(insertion sort) (0) | 2023.01.17 |
---|---|
[알고리즘] 정렬 - 선택 정렬(selection sort) (0) | 2023.01.17 |
[알고리즘] 재귀(Recursion), 재귀 호출(Recursive call) (0) | 2023.01.02 |
[알고리즘] 투 포인터, 슬라이딩 윈도우(two pointers, sliding window) (0) | 2022.12.14 |
[알고리즘] 정렬 - 버블 정렬(bubble sort) (0) | 2022.11.28 |
댓글