문제 해결을 위해 모든 경우의 수를 탐색하는 방법이다.
가장 간단한 방법으로는 for문을 중첩해서 사용하는 방법이 있지만, 좀 더 효율적으로 탐색을 진행하기 위해 문제 조건을 잘 읽고 백트래킹 혹은 재귀를 사용할 수 있는 경우라면 사용해서 푸는 편이 합리적이다.
완전 탐색을 사용해서 문제를 해결할 때는 주어진 문제를 잘 읽고 함수를 어떻게 정의할 지 생각하는게 매우 중요하다.
재귀를 이용해서 완전 탐색을 구현하면 코드의 길이가 짧아지고 직관적으로 코드를 작성할 수 있지만, 재귀에 익숙하지 않으면 생각해내기가 쉽지 않다. 많이 경험해 봐서 익숙해지자.
완전탐색을 진행할 때 값들에 대해서 중복 허용 여부와 순서의 유무를 확인하자.
조건들에 따라 다른 시간복잡도가 나올 수 있다.