코딩하는 문과생
[알고리즘 공부] 완전탐색(Brute Force - 브루트 포스) 본문
완전탐색 (Brute-Force)
BP라고 불리는 완전탐색은 말 그대로 모든 경우의 수를 다 해보는 것!
알고리즘을 풀 때 강력한 방식이지만, 시간은 최대로 들어간다.
예를 들어 비밀번호가 4자리이고 숫자로만 이루어져 있다면, 0~9999까지 총 10,000가지의 경우의 수가 발생한다.
만약 한 숫자 당 1초가 걸린다면, 10,000초 = 2.7시간 정도 걸린다.
완전탐색을 풀기 위한 대표적인 4가지
1. for문 사용
2. 순열, 조합 사용
from itertools import permutations
per = permutations(['빨','주','노','초'],2)
from itertools import combinations
com = combinations('1234',2)
3. 재귀함수 사용
4. 비트마스크 사용
'프로그래밍 > 알고리즘 공부' 카테고리의 다른 글
[알고리즘 공부] 탐욕 알고리즘(Greedy Algorithm) (0) | 2019.11.17 |
---|---|
[알고리즘 공부] 동적 계획법 (Dynamic Programming, DP) (0) | 2019.11.17 |
[알고리즘 공부] Heap Sort (0) | 2019.11.16 |
[알고리즘 공부] BFS vs DFS (0) | 2019.11.16 |