[Algorithm] 백트래킹 학습
백트래킹이랑?
완전탐색 + 가지치기
모든 경우를 트리 형태로 탐색
“답이 될 수 없는 가지”를 중간에 잘라냄
DP처럼 저장해서 줄이는 것이 아닌 중간부터 내려가지 않는 것이 핵심
백트래킹 유형 파악 방법
선택지
제약 조건
종료 조건
위 3개가 안보이면 다른 유형인지 생각해볼 것.
백트래킹 기본 구조 (암기 대상)
1
2
3
4
5
6
7
8
9
10
11
12
def backtack(depth):
if 종료조건:
처리
return
for 선택 in 선택지:
if 제약조건 위반:
continue
선택 적용
backtrack(depth + 1)
선택 되돌리기
위의 구조를 암기 후 변형시켜서 다른 기출 문제 해결할 것
This post is licensed under CC BY 4.0 by the author.