코딩연습
[백준] N-Queen (9663)(Kotlin)
유줘니
2020. 3. 18. 16:06
원본 문제 : https://www.acmicpc.net/problem/9663
문제 참고 : https://javannspring.tistory.com/179
<첫번째>
import java.util.*
import kotlin.math.abs
var n: Int = 0
var answer: Int = 0
var col: IntArray = intArrayOf()
fun main() {
val sc: Scanner = Scanner(System.`in`)
n = sc.nextInt()
col = IntArray(n)
for (i in 0 until n) {
col[0] = i
nQueen(i, 0)
}
println(answer)
}
fun nQueen(x: Int, y: Int) {
for (i in 0 until y) {
if (col[i] == x || abs(x - col[i]) == y - i) return
}
if (y == n - 1) {
answer++
return
}
for (i in 0 until n) {
col[y + 1] = i
nQueen(i, y + 1)
}
}