
완전 탐색은 존재하는 모든 답을 하나씩 검사하므로, 검사에 걸리는 시간은 답의 수에 비례한다. 최대 크기의 입력을 가정했을 때 답의 개수를 계산하고 그것을 제한시간 내에 생성할 수 있는지를 가늠해야한다. 제한 시간을 초과할 것 같다면 다른 알고리즘을 사용해 풀어야 한다

완전히 같은 코드를 반복해서 실행하는 작업을 구현할 때 사용하는 방법중 하나가 재귀호출이다.재귀함수는 수행할 작업을 여러 조각으로 쪼개뉘 그중 한 조각을 수행하고 나머지 자기 자신을 호출해 실행한다.모든 재귀함수는 더이상 쪼개지지 않는 최소한의 작업에 도달했을 때 답을

분할정복이란 주어진 문제를 둘 이상의 부분문제로 나누어 각 문제에 대한 해답을 재귀 호출을 이용해 계산하고, 각 부분 문제의 답으로 부터 전체 문제의 답을 계산해 내는 알고리즘이다.분할정복은 재귀 호출과 다르게 문제를 한 조각과 나머지 전체로 나누는 대신 한 문제를 거