1) 브루트 포스란?

 

브루트 포스라는 말은

 

브루트(Brute) - 무식한  + 포스(Force) - 힘

 

라는 뜻을 가지고 있다. 즉 얻을 수 있는 모든 결과 값을 확인해 가면서 탐색을 하는 알고리즘을 뜻한다.

브루트 포스 알고리즘은 해가 하나 이상은 존재한다는 가정을 세운 뒤에 모든 범위를 탐색하기 때문에 정답을 확실히 찾을 수 있다.

 

2) 브루트 포스의 장점

 

단순히 전체를 탐색을 하기 때문에 설계를 하고 구현을 하기 쉽다.

 

3) 브루트 포스의 단점

 

전체를 탐색을 하기 때문에 알고리즘의 실행 시간이 매우 오래 걸린다.

탐색을 할 때 메모리나 이런 부분에서 비 효율적이다.

 

4) 브루트 포스를 구현하는 법

 

알고리즘을 구성을 할 때 전체 결과에 대해서 탐색을 한다. 즉 각각의 모든 결과를 탐색할 수 있는 알고리즘을 작성을 하면 된다. 단순하게 for문 같은 반복문을 이용해서 전체 결과를 확인해도 된다. 또한 관련된 식의 공식을 사용하는 등 시간을 단축시키는 방법을 사용해서 작성을 해도 용이하다.

 

 

 

'프로그래밍 > 알고리즘' 카테고리의 다른 글

누적합(Prefix Sum) 알고리즘  (0) 2023.05.31
Lower bound, Upper bound 알고리즘  (0) 2023.05.15

+ Recent posts