브루트 포스란?
조합 가능한 모든 문자열을 하나씩 대입해 보는 방식으로 암호를 해독하는 방법이다. 완전 탐색이라고도 한다.
예를 들어, 4자리 비밀번호 자물쇠가 있을 때 0000~9999까지 모든 수를 대입해서 푸는 것을 말한다.
브루트 포스의 특징
- 이론적으로 가능한 모든 경우의 수를 다 검색해 보는 것이라 정확도 100%를 보장한다.
- 거의 완벽하게 병렬 작업이 가능하다.
- 문제의 복잡도에 매우 민감하여 조금만 복잡해져도 매우 비효율적이다.
브루트 포스의 종류
- 선형 구조 : 순차 탐색
- 비선형 구조 : 백트래킹, BFS, DFS
브루트 포스 구현 방법
- for/while loop 사용
- 순열
- 재귀
'Python > 브루트 포스' 카테고리의 다른 글
99클럽 코테 스터디 11일차 TIL + 백준 1018 체스판 다시 칠하기 (파이썬) (0) | 2025.02.03 |
---|---|
[Algorithm] 백준 14620 꽃길 | 파이썬 (브루트포스) (1) | 2024.09.21 |
[Algorithm] 백준 2309 일곱 난쟁이 | 파이썬 (0) | 2024.08.09 |
[Algorithm] 백준 1436 영화감독 숌 | 파이썬 (0) | 2024.08.07 |
[Algorithm] 백준 1018 체스판 다시 칠하기 | 파이썬 (0) | 2024.08.02 |
댓글