[백준] 모든 순열 (10974)
문제 설명
입력 및 출력
» 입력
첫째 줄에 N(1 ≤ N ≤ 8)이 주어진다.
» 출력
첫째 줄부터 N!개의 줄에 걸쳐서 모든 순열을 사전순으로 출력한다.
예제 입출력(테스트케이스)
입력 | 출력 |
---|---|
3 | 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 |
문제 풀이(SWIFT) 1
//
// main.swift
// BOJ10974_SWIFT
//
// Created by choiyoujun on 2022/02/23.
//
let N = Int(readLine()!)!
var check = [Bool](repeating: false, count: N + 1)
func dfs(depth: Int, str: String) {
if depth == N {
print(str)
return
}
for i in 1...N {
if !check[i] {
check[i] = true
dfs(depth: depth + 1, str: str + "\(i) ")
check[i] = false
}
}
}
dfs(depth: 0, str: "")