N-Queen
-
[백준]9662: N-Queen - JAVA문제풀이/백준 2021. 5. 2. 15:32
[백준]9662: N-Queen www.acmicpc.net/problem/96639663번: N-QueenN-Queen 문제는 크기가 N × N인 체스판 위에 퀸 N개를 서로 공격할 수 없게 놓는 문제이다. N이 주어졌을 때, 퀸을 놓는 방법의 수를 구하는 프로그램을 작성하시오.www.acmicpc.net풀이프로그래머스에 있는 N-QUEEN문제와 동일한 문제이다. DP문제의 대표가 하노이의 탑이 있다면 순열 문제의 대표라고 할 수 있는 문제이다. 이전에 풀었던 적이 있지만 오래되어 다시 한번 풀어보았다. 다시 풀자니 역시 조금 헤메이는 부분이 있었다. 게다가 백준의 문제 설명이 부족한 것도 있다. 프로그래머스에는 문제 설명이 자세히 잘 되어 있으니 N-QUEEN문제는 프로그래머스에 푸는 것을 추천한다...
-
[프로그래머스]N-Queen - JAVA문제풀이/프로그래머스 2021. 2. 14. 13:51
[프로그래머스]N-Queen programmers.co.kr/learn/courses/30/lessons/12952 코딩테스트 연습 - N-Queen 가로, 세로 길이가 n인 정사각형으로된 체스판이 있습니다. 체스판 위의 n개의 퀸이 서로를 공격할 수 없도록 배치하고 싶습니다. 예를 들어서 n이 4인경우 다음과 같이 퀸을 배치하면 n개의 퀸은 programmers.co.kr 풀이 순열을 사용하여 풀었다. 순열로 퀸의 순서를 뽑아준 후, 뽑은 퀸을 이전의 뽑았던 퀸의 위치와 비교하여 뽑을 수 있는 위치라면 재귀함수를 사용해 순환적으로 호출해주었고, 뽑을 수 없는 위치라면(행이 같거나 대각선 위치에 존재하거나) 퀸을 뽑지 않았다. 뽑을 때는 1차원 배열을 이용해 각 인덱스가 하나의 열을 나타내도록 하였다. ..