백트래킹이란 dfs문제에서 깊이를 탐색하다가 요쪽(?)으로 계속가면 원하는 값을 얻지 못함을 미리 깨닫고 더이상 들어가지 않는 기법이다. 일명 가지치기라고 한다. dfs의 단점은 무한 반복될 수 있는 구간에서는 빠져나올 수 없다는 단점이 있다. 이를 적절하게 해결할 수 있는 하나의 기법이 되고, 그 외에 bfs를 통해서 빠르게 탐색하는 방법도 있지만 bfs는 인덱스가 진행될 수 록 메모리가 지수승으로 폭발 증가한다는 단점이 있다. 그래서 적절하게 dfs를 활용해서 앞서 미리 이 가지가 유효할지를 검사하여 잘라낼지 진행할지를 결정한다. N-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오..