알고리즘이라고는 수업시간에 해본거 말고는 없어서 개념부터 차근차근 해봐야겠다 .
브루트포스 : brute force
⇒완전 탐색의 또 다른 이름으로 쓰임. 완전 탐색으로 답을 도출하는 알고리즘
대부분 반복문과 조건문을 통하여 답을 도출
완전탐색과의 차이점
: 완전 탐색 알고리즘은 결과를 찾기보단 탐색에 중점 + 브루트포스 알고리즘은 결과를 찾는것에 중점
알고리즘 설계의 가장 기본적인 접근 방법
: 해가 존재할 것으로 예상되는 모든 영역을 전체 탐색하는 방법
모든 경우의 수를 전부 탐색하기 때문에 100%의 정확성을 보장
하지만 그렇기에 높은 시간 복잡도를 가짐
브루트포스 알고리즘의 사용 조건
1. 문제에서 달성하고자 하는 솔루션이 잘 정의
: 솔루션이 잘 정의되어 있지 않은 문제라면 브루트포스를 사용한 솔루션이 올바른지의 여부 확인 불가
2. 문제를 해결할 수 있는 풀이의 수가 제한됨
: 문제에서 고려해야 할 솔루션의 수가 한정되어 있어야 함 고려해야 할 솔루션의 수가 무한하거나 너무 크면 브루트포스 알고리즘은 효율적이지 못함
문제 해결 방법
1. 주어진 문제를 선형 구조로 구조화
2. 구조화된 문제 공간을 적절한 방법으로 해를 구성할 때까지 탐색
3. 구성된 해 정리
브루트포스를 사용하는 것은 항상 효율적이지는 못하며 더 효율적인 방법이 없는지 고민해보고 사용해야 함
백준 14717 : 앉았다 (0) | 2025.01.09 |
---|---|
백준 10488 : 유레카 이론 (1) | 2025.01.08 |
백준 2309 : 일곱 난쟁이 (0) | 2025.01.07 |
개념 정리 : 스택, 큐, 리스트, 해시맵 개념과 사용코드(삽입, 삭제 등) 정리 (0) | 2025.01.06 |
백준 2231: 분해합 (0) | 2025.01.06 |