백준 문제풀이
2023. 1. 27.
[백준][파이썬] 9663 N-Queen
1.문제 분석 백트래킹 문제 N*N칸의 체스판에 N개의 퀸이 서로 공격하지 못하도록 한다. 2. 기본 아이디어 퀸은 한 행에 하나만 존재한다. ( N x N 칸에 N개의 퀸을 놓기 때문) 한 행에 퀸을 놓았다면 열, 대각선만 확인해주면 된다. 3.문제 풀이 2차원 배열을 통해 문제를 풀어야겠다고 생각했으나, 코드가 너무 복잡해졌다. 도무지 감이 안잡혀 구글링을 했고, 1차원 리스트로 표현할 수 있는 방법이 있다는 것을 알았다. 그리고 고민하던 중에 굳이 체스판을 입체적으로 생각하지 않아도 된다는 것을 알았다. (요즘 체스에 취미가 생긴 것이 한몫했다.) 체스판의 숫자와 알파벳을 1차원 리스트의 인덱스와 값이라고 생각하면 편리했다. 그러니까 chess[0] = 1 이라고 하면 윗 그림에서 흑 나이트 즉, ..