n-queen
[JS] N-Queen
이전에 파이썬으로 한번 풀어봤지만 JS로 오랜만에 다시만난 문제다. 먼저 N-Queen의 문제를 보면 결국 퀸은 세로줄이든 가로줄이든 하나씩밖에 못 둔다는것을 확인할 수 있다. 따라서 2차원 배열로 보드를 관리하는것이 아닌 1차원으로 관리할 수 있다. 예를들어서 [-1,-1,-1,-1] 왼쪽과 같이 처음을 배치하고 idx값을 세로줄이라고 생각해보자. 문제에서 정답으로 주어진 위상태를 1차원 배열로 표현한다면 [1,3,0,2] 가 되는것이다. 따라서 dfs를 활용해서 첫칸부터 채우는 문제로 바뀌게 된다. dfs를 통해서 퀸을 배치할때 세로줄은 위 방법으로 해결했다. 가로줄은 위 배열을 채우면서 같은 값이 나오지 않게 하면 해결할 수 있다. 만약 [1,2,2,3] 이렇게 중복된 값이 있다면 가로줄에서 곂치는..