IT/알고리즘
[백준] 6603번 로또
남갯
2025. 3. 10. 22:42
728x90
SMALL
0이 나올때까지 돌려야하기때문에 실제 동작에서 0으로 마지막 나왔는지 추가 코드 필요.
https://www.acmicpc.net/problem/6603
fun main() = with(Scanner(System.`in`)) {
val n = nextInt()
val arr = Array<Int>(n) { 0 }
val max = 6
for (i in 0 until n) {
arr[i] = nextInt()
}
val isVisited = Array<Boolean>(n) { false }
fun dfs(depth : Int, text : String , lastIndex : Int){
if(depth == max){
println(text.fold("", { acc, c -> "$acc $c" }).trim())
return
}
for(i in lastIndex until n){
if(isVisited[i]) continue
isVisited[i] = true
dfs(depth + 1 , text + "${arr[i]}" , i + 1)
isVisited[i] = false
}
}
dfs(0,"", 0)
}
728x90
LIST