본문 바로가기
코딩연습

[백준] N-Queen (9663)(Kotlin)

by 유줘니 2020. 3. 18.

원본 문제 : 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)
    }
}

 

'코딩연습' 카테고리의 다른 글

[백준] 알파벳 (1987)(Kotlin)  (0) 2020.04.07
[백준] 로또 (6603)(Kotlin)  (0) 2020.02.26
[백준] 퇴사 (14501)(Kotlin)  (0) 2020.02.26
[백준] 회의실배정 (1931)(Kotlin)  (0) 2020.02.20
[백준] 동전 0 (11047)(Kotlin)  (0) 2020.02.20

댓글