https://www.acmicpc.net/problem/10974
Array<Visited>
와 Array<result>
를 맵핑시켜서 문제를 해결 했다.let input = Int(readLine()!)!
var result: [String] = [String](repeating: " ", count: input)
var visited: [Bool] = [Bool](repeating: false, count: input)
func solution(_ depth: Int) {
if depth == input {
print(result.joined(separator: " "))
return
}
for i in 0..<input {
if visited[i] {
continue
}
visited[i] = true
result[depth] = "\(i+1)"
solution(depth + 1)
visited[i] = false
}
}
solution(0)