백트래킹(BackTracking) 가능한 모든 방법을 탐색한다. 단, 한정 조건을 통해 유망성을 점검하고 유망하지 않으면 해당 경우의 수를 배제한다. N-Queen N*N 체스판에 N개의 퀸을 서로 공격할 수 없게 배치하는 경우의 수를 출력하는 문제이다. 나의 멍청했던 접근법 단순하게 2차원 배열을 생성하고 모든 값을 0으로 초기화한 후에, 퀸을 하나 두었을 때 공격 가능한 모든 칸을 1로 바꾸고 남아 있는 0 중에 하나에 퀸을 두고 또 1로 바꾸고... 이런식으로 구현을 하였다. 정말 단순하고 무식한 방법이었다. 모든 경우의 수를 보았기 때문에 시간은 엄청나게 소요되었고, 중복된 경우의 수도 횟수에 추가되어서 어마어마한 뻥튀기 결과값을 초래했다. 해답 우선, 2차원 배열을 생성할 필요가 없다. 1차원 ..