https://www.acmicpc.net/step/22
브루트 포스 단계
한때는 이 문제가 "기본 수학 1" 단계에 있었지만, 사실 브루트 포스로 푸는 게 더 쉽습니다.
www.acmicpc.net
백준의 브루트 포스 단계에 들어가기 전에 브루트 포스가 무엇인지 알고 들어가자
브루트 포스란?
- 영어 brute는 "짐승 같은, 난폭한"이라는 뜻과 force "힘"이라는 뜻으로 직역하면 " 난폭한 힘, 폭력이라는 뜻으로 해석이 됨
- 완전탐색이라고도 하며 발생할 수 있는 모든 경우를 무식하게 탐색한다는 의미가 있음
장점
- 이론적으로 가능한 모든 경우의 수를 다 검색해 보는 것이기 때문에 정확함
- 알고리즘을 설계하고 구현하기 쉬움
단점
- 모든 경우의 수를 다 고려하기 때문에 효율적이지 못함
- 즉, 알고리즘 실행시간이 오래 걸림
예시
비밀번호가 4자리인 경우 0000~9999까지 전부 한번씩 해보면 결국 비밀번호를 맞출 수 있음
종류
브루트 포스는 선형구조와 비선형 구조로 나눌 수 있음
선형 구조
- 순차 탐색
비선형 구조
- DFS / BFS
- 백트래킹
DFS와 BFS는 아래 글에 정리 해 놓았음
나머지는 시간이 날때 공부할 예정
2024.04.10 - [파이썬] - 탐색 알고리즘 DFS / BFS - 파이썬(Python)
탐색 알고리즘 DFS / BFS - 파이썬(Python)
필요 사전 개념 탐색 알고리즘에 들어가기 앞서 노드에 대해 잘 모른다면 이전 발행 글 노드를 표현하는 법을 보고 가자 2024.04.09 - [파이썬] - 그래프 노드로 표현하기 - 파이썬(Python 그래프 노드
anichan.tistory.com