[JAVA] 완전탐색(Exhaustive Search)
·
코딩테스트/알고리즘
완전탐색(exhaustive search)① 완전탐색이란?▷ 완전탐색은 간단히 가능한 모든 경우의 수를 다 체크해서 정답을 찾는 방법이다. 즉, 무식하게 가능한 거 다 해보겠다는 방법을 의미한다. '무식하게 푼다(brute-force)'는 컴퓨터의 빠른 계산 능력을 이용해 가능한 경우의 수를 일일이 나열하면서 답을 찾는 방법을 의미. 이렇게 가능한 방법을 전부 만들어 보는 알고리즘을 뜻한다.▷ 완전 탐색은 컴퓨터의 빠른 계산 속도를 잘 이용하는 방법이다.▷ (예제) n개의 원소 중 m개를 고르는 모든 조합을 출력하는 코드 완전 탐색 방법1. Brute Force : for문과 if문을 이용하여 처음부터 끝까지 탐색하는 방법2. 순열 : 순열의 시간 복잡도는 O(N!)3. 재귀호출4. 비트마스크5. BF..