백트래킹

<aside> ❗ 백트래킹의 핵심은 가지치기! → 가지치기를 얼마나 잘하느냐가 효율성을 결정한다.

</aside>

어떻게 작성할 것인가?

N-Queen 문제

→ 길이가 N인 체스판 위에 N개의 퀸이 서로를 공격할 수 없도록 배치할 수 있는 경우의 수는?

  1. 백트래킹은 모든 경우의 수를 찾아야 하기에 일단 하고본다.
  2. (1,1)에 퀸을 배치
  3. 가지치기 : 첫 줄은 더 이상 퀸을 둘 수 없기에 다음 줄 로 이동
  4. 가지치기 : 두 번째 줄 첫 칸은 둘 수 없기에 패스
  5. 가지치기 : 두 번째 줄 두번째 칸은 둘 수 없기에 패스