N-Queen문제 풀이
복습차원에서 적습니다.
let fs = require('fs');
let input = fs.readFileSync('/dev/stdin').toString().trim()
const N = +input;
let answer = 0;
next(0, Array(N).fill(0))
console.log(answer)
function next(row,board) {
if(row === N){
answer++
return
}
for(let i=0; i<N; i++){
if(check(board,i, row)){
const newBoard = [...board]
newBoard[row] = i
next(row+1,newBoard)
}
}
}
function check(board , col, row){
for(let i=0; i<row; i++){
const num = board[i]
const sub = row-i
if(num === col || num+sub === col || num-sub === col){
return false
}
}
return true
}
'알고리즘 > 백준' 카테고리의 다른 글
백준 node.js 1799번 비숍 백트래킹 JavaScript JS (0) | 2023.07.07 |
---|---|
백준 node.js 18809번 Gaaaaaaaaaarden 백트래킹 JavaScript JS (0) | 2023.06.30 |
백준 node.js 16987번 계란으로 계란치기 백트래킹 JavaScript JS (0) | 2023.06.30 |
백준 node.js 1941번 소문난 칠공주 백트래킹 JavaScript JS (0) | 2023.06.30 |
백준 JS 7570번 줄세우기 LCS (0) | 2023.06.23 |