[백트래킹]
·
Algorithm
정의백트래킹은 DFS로 모든 경우를 탐색해되, 탐색 중간에 정답이 될 가능성이 없는 경로를 기준 함수(promising function)로 판별해서 그 가지를 더 이상 확장하지 않는(가지치기) 탐색 기법이다. 푸는 방식백트래킹 문제는 3요소를 먼저 고정시키고 풀면 편리하다. 상태(state)정의재귀 함수 파라미터로 "현재까지 무엇을 결정했는지"를 표현한다.ex) 부분집합/조합/순열 -> idx, sum, depth, used[], path 등으로 표현 선택(choice)정의상태를 정의한 다음, 현재 상태에서 다음으로 갈 수 있는 선택지를 나열한다.ex) i번째 원소를 선택/미선택, 다음 숫자 후보 넣기, 다음 칸에 넣을 값 1~9등 가지치기하는 함수 정의상태가 갈 수 있는 선택지에서 절대 정답이 ..