코딩테스트/알고리즘

[JAVA] 브루트포스(brute force)

lakedata 2025. 2. 16. 07:35

완전탐색 : 브루트포스 알고리즘 Brute Force Algorithm

Brute : 무식한
Force : 힘

직역하면, 무식한 힘을 갖는 알고리즘이란 뜻으로, 가능한 모든 경우의 수를 모두 탐색하면서 결과를 도출한다.
전체를 탐색한다는 의미에서 전체 탐색, 완전 탐색이라고도 한다.
브루트포스 알고리즘은 대부분은 반복문과 조건문을 통하여 답을 도출한다.

완전 탐색이라는 이름에서도 알 수 있듯이 하나부터 열까지 모든 경우를 다 탐색하는 알고리즘이다.

브루트포스의 장점

알고리즘을 설계하고 구현하기 쉽다
모든 경우의 수를 탐색하기 때문에 100% 정확성을 보장한다.

브루트포스의 단점

메모리 효율면에서 매우 비효율적이다.
알고리즘의 실행 시간이 매우 오래걸린다. (시간복잡도가 높다)