1,2,3,4,5,6,7,8,9 중에서 중복되지 않고 3개를 뽑는 모든 경우의 수를 만들어라
예를들어
[1,2,3] [1,2,4] ... [9,8,7]
코드
import Foundation
func permutation(_ arr : [Int],_ output : [Int],_ visited : [Bool],_ depth : Int,_ n : Int,_ r : Int){
var arr = arr
var output = output
var visited = visited
if depth == r {
// stack.append(output)
print(output)
return
}
for i in 0..<n {
if visited[i] != true {
visited[i] = true
output[depth] = arr[i]
permutation(arr,output,visited,depth + 1,n,r)
output[depth] = 0
visited[i] = false
}
}
}
var answer = 0
let arr = [1,2,3,4,5,6,7,8,9]
let n = arr.count
let r = 3
let output : [Int] = Array(repeating: 0, count: r)
let visited : [Bool] = Array(repeating: false, count: n)
permutation(arr,output,visited,0,n,r)
출력
[1, 2, 3]
[1, 2, 4]
[1, 2, 5]
[1, 2, 6]
[1, 2, 7]
[1, 2, 8]
[1, 2, 9]
[1, 3, 2]
[1, 3, 4]
[1, 3, 5]
[1, 3, 6]
[1, 3, 7]
[1, 3, 8]
[1, 3, 9]
[1, 4, 2]
[1, 4, 3]
[1, 4, 5]
[1, 4, 6]
[1, 4, 7]
[1, 4, 8]
[1, 4, 9]
[1, 5, 2]
[1, 5, 3]
[1, 5, 4]
[1, 5, 6]
[1, 5, 7]
[1, 5, 8]
[1, 5, 9]
[1, 6, 2]
[1, 6, 3]
[1, 6, 4]
[1, 6, 5]
[1, 6, 7]
[1, 6, 8]
[1, 6, 9]
[1, 7, 2]
[1, 7, 3]
[1, 7, 4]
[1, 7, 5]
[1, 7, 6]
[1, 7, 8]
[1, 7, 9]
[1, 8, 2]
[1, 8, 3]
[1, 8, 4]
[1, 8, 5]
[1, 8, 6]
[1, 8, 7]
[1, 8, 9]
[1, 9, 2]
[1, 9, 3]
[1, 9, 4]
[1, 9, 5]
[1, 9, 6]
[1, 9, 7]
[1, 9, 8]
[2, 1, 3]
[2, 1, 4]
[2, 1, 5]
[2, 1, 6]
[2, 1, 7]
[2, 1, 8]
[2, 1, 9]
[2, 3, 1]
[2, 3, 4]
[2, 3, 5]
[2, 3, 6]
[2, 3, 7]
[2, 3, 8]
[2, 3, 9]
[2, 4, 1]
[2, 4, 3]
[2, 4, 5]
[2, 4, 6]
[2, 4, 7]
[2, 4, 8]
[2, 4, 9]
[2, 5, 1]
[2, 5, 3]
[2, 5, 4]
[2, 5, 6]
[2, 5, 7]
[2, 5, 8]
[2, 5, 9]
[2, 6, 1]
[2, 6, 3]
[2, 6, 4]
[2, 6, 5]
[2, 6, 7]
[2, 6, 8]
[2, 6, 9]
[2, 7, 1]
[2, 7, 3]
[2, 7, 4]
[2, 7, 5]
[2, 7, 6]
[2, 7, 8]
[2, 7, 9]
[2, 8, 1]
[2, 8, 3]
[2, 8, 4]
[2, 8, 5]
[2, 8, 6]
[2, 8, 7]
[2, 8, 9]
[2, 9, 1]
[2, 9, 3]
[2, 9, 4]
[2, 9, 5]
[2, 9, 6]
[2, 9, 7]
[2, 9, 8]
[3, 1, 2]
[3, 1, 4]
[3, 1, 5]
[3, 1, 6]
[3, 1, 7]
[3, 1, 8]
[3, 1, 9]
[3, 2, 1]
[3, 2, 4]
[3, 2, 5]
[3, 2, 6]
[3, 2, 7]
[3, 2, 8]
[3, 2, 9]
[3, 4, 1]
[3, 4, 2]
[3, 4, 5]
[3, 4, 6]
[3, 4, 7]
[3, 4, 8]
[3, 4, 9]
[3, 5, 1]
[3, 5, 2]
[3, 5, 4]
[3, 5, 6]
[3, 5, 7]
[3, 5, 8]
[3, 5, 9]
[3, 6, 1]
[3, 6, 2]
[3, 6, 4]
[3, 6, 5]
[3, 6, 7]
[3, 6, 8]
[3, 6, 9]
[3, 7, 1]
[3, 7, 2]
[3, 7, 4]
[3, 7, 5]
[3, 7, 6]
[3, 7, 8]
[3, 7, 9]
[3, 8, 1]
[3, 8, 2]
[3, 8, 4]
[3, 8, 5]
[3, 8, 6]
[3, 8, 7]
[3, 8, 9]
[3, 9, 1]
[3, 9, 2]
[3, 9, 4]
[3, 9, 5]
[3, 9, 6]
[3, 9, 7]
[3, 9, 8]
[4, 1, 2]
[4, 1, 3]
[4, 1, 5]
[4, 1, 6]
[4, 1, 7]
[4, 1, 8]
[4, 1, 9]
[4, 2, 1]
[4, 2, 3]
[4, 2, 5]
[4, 2, 6]
[4, 2, 7]
[4, 2, 8]
[4, 2, 9]
[4, 3, 1]
[4, 3, 2]
[4, 3, 5]
[4, 3, 6]
[4, 3, 7]
[4, 3, 8]
[4, 3, 9]
[4, 5, 1]
[4, 5, 2]
[4, 5, 3]
[4, 5, 6]
[4, 5, 7]
[4, 5, 8]
[4, 5, 9]
[4, 6, 1]
[4, 6, 2]
[4, 6, 3]
[4, 6, 5]
[4, 6, 7]
[4, 6, 8]
[4, 6, 9]
[4, 7, 1]
[4, 7, 2]
[4, 7, 3]
[4, 7, 5]
[4, 7, 6]
[4, 7, 8]
[4, 7, 9]
[4, 8, 1]
[4, 8, 2]
[4, 8, 3]
[4, 8, 5]
[4, 8, 6]
[4, 8, 7]
[4, 8, 9]
[4, 9, 1]
[4, 9, 2]
[4, 9, 3]
[4, 9, 5]
[4, 9, 6]
[4, 9, 7]
[4, 9, 8]
[5, 1, 2]
[5, 1, 3]
[5, 1, 4]
[5, 1, 6]
[5, 1, 7]
[5, 1, 8]
[5, 1, 9]
[5, 2, 1]
[5, 2, 3]
[5, 2, 4]
[5, 2, 6]
[5, 2, 7]
[5, 2, 8]
[5, 2, 9]
[5, 3, 1]
[5, 3, 2]
[5, 3, 4]
[5, 3, 6]
[5, 3, 7]
[5, 3, 8]
[5, 3, 9]
[5, 4, 1]
[5, 4, 2]
[5, 4, 3]
[5, 4, 6]
[5, 4, 7]
[5, 4, 8]
[5, 4, 9]
[5, 6, 1]
[5, 6, 2]
[5, 6, 3]
[5, 6, 4]
[5, 6, 7]
[5, 6, 8]
[5, 6, 9]
[5, 7, 1]
[5, 7, 2]
[5, 7, 3]
[5, 7, 4]
[5, 7, 6]
[5, 7, 8]
[5, 7, 9]
[5, 8, 1]
[5, 8, 2]
[5, 8, 3]
[5, 8, 4]
[5, 8, 6]
[5, 8, 7]
[5, 8, 9]
[5, 9, 1]
[5, 9, 2]
[5, 9, 3]
[5, 9, 4]
[5, 9, 6]
[5, 9, 7]
[5, 9, 8]
[6, 1, 2]
[6, 1, 3]
[6, 1, 4]
[6, 1, 5]
[6, 1, 7]
[6, 1, 8]
[6, 1, 9]
[6, 2, 1]
[6, 2, 3]
[6, 2, 4]
[6, 2, 5]
[6, 2, 7]
[6, 2, 8]
[6, 2, 9]
[6, 3, 1]
[6, 3, 2]
[6, 3, 4]
[6, 3, 5]
[6, 3, 7]
[6, 3, 8]
[6, 3, 9]
[6, 4, 1]
[6, 4, 2]
[6, 4, 3]
[6, 4, 5]
[6, 4, 7]
[6, 4, 8]
[6, 4, 9]
[6, 5, 1]
[6, 5, 2]
[6, 5, 3]
[6, 5, 4]
[6, 5, 7]
[6, 5, 8]
[6, 5, 9]
[6, 7, 1]
[6, 7, 2]
[6, 7, 3]
[6, 7, 4]
[6, 7, 5]
[6, 7, 8]
[6, 7, 9]
[6, 8, 1]
[6, 8, 2]
[6, 8, 3]
[6, 8, 4]
[6, 8, 5]
[6, 8, 7]
[6, 8, 9]
[6, 9, 1]
[6, 9, 2]
[6, 9, 3]
[6, 9, 4]
[6, 9, 5]
[6, 9, 7]
[6, 9, 8]
[7, 1, 2]
[7, 1, 3]
[7, 1, 4]
[7, 1, 5]
[7, 1, 6]
[7, 1, 8]
[7, 1, 9]
[7, 2, 1]
[7, 2, 3]
[7, 2, 4]
[7, 2, 5]
[7, 2, 6]
[7, 2, 8]
[7, 2, 9]
[7, 3, 1]
[7, 3, 2]
[7, 3, 4]
[7, 3, 5]
[7, 3, 6]
[7, 3, 8]
[7, 3, 9]
[7, 4, 1]
[7, 4, 2]
[7, 4, 3]
[7, 4, 5]
[7, 4, 6]
[7, 4, 8]
[7, 4, 9]
[7, 5, 1]
[7, 5, 2]
[7, 5, 3]
[7, 5, 4]
[7, 5, 6]
[7, 5, 8]
[7, 5, 9]
[7, 6, 1]
[7, 6, 2]
[7, 6, 3]
[7, 6, 4]
[7, 6, 5]
[7, 6, 8]
[7, 6, 9]
[7, 8, 1]
[7, 8, 2]
[7, 8, 3]
[7, 8, 4]
[7, 8, 5]
[7, 8, 6]
[7, 8, 9]
[7, 9, 1]
[7, 9, 2]
[7, 9, 3]
[7, 9, 4]
[7, 9, 5]
[7, 9, 6]
[7, 9, 8]
[8, 1, 2]
[8, 1, 3]
[8, 1, 4]
[8, 1, 5]
[8, 1, 6]
[8, 1, 7]
[8, 1, 9]
[8, 2, 1]
[8, 2, 3]
[8, 2, 4]
[8, 2, 5]
[8, 2, 6]
[8, 2, 7]
[8, 2, 9]
[8, 3, 1]
[8, 3, 2]
[8, 3, 4]
[8, 3, 5]
[8, 3, 6]
[8, 3, 7]
[8, 3, 9]
[8, 4, 1]
[8, 4, 2]
[8, 4, 3]
[8, 4, 5]
[8, 4, 6]
[8, 4, 7]
[8, 4, 9]
[8, 5, 1]
[8, 5, 2]
[8, 5, 3]
[8, 5, 4]
[8, 5, 6]
[8, 5, 7]
[8, 5, 9]
[8, 6, 1]
[8, 6, 2]
[8, 6, 3]
[8, 6, 4]
[8, 6, 5]
[8, 6, 7]
[8, 6, 9]
[8, 7, 1]
[8, 7, 2]
[8, 7, 3]
[8, 7, 4]
[8, 7, 5]
[8, 7, 6]
[8, 7, 9]
[8, 9, 1]
[8, 9, 2]
[8, 9, 3]
[8, 9, 4]
[8, 9, 5]
[8, 9, 6]
[8, 9, 7]
[9, 1, 2]
[9, 1, 3]
[9, 1, 4]
[9, 1, 5]
[9, 1, 6]
[9, 1, 7]
[9, 1, 8]
[9, 2, 1]
[9, 2, 3]
[9, 2, 4]
[9, 2, 5]
[9, 2, 6]
[9, 2, 7]
[9, 2, 8]
[9, 3, 1]
[9, 3, 2]
[9, 3, 4]
[9, 3, 5]
[9, 3, 6]
[9, 3, 7]
[9, 3, 8]
[9, 4, 1]
[9, 4, 2]
[9, 4, 3]
[9, 4, 5]
[9, 4, 6]
[9, 4, 7]
[9, 4, 8]
[9, 5, 1]
[9, 5, 2]
[9, 5, 3]
[9, 5, 4]
[9, 5, 6]
[9, 5, 7]
[9, 5, 8]
[9, 6, 1]
[9, 6, 2]
[9, 6, 3]
[9, 6, 4]
[9, 6, 5]
[9, 6, 7]
[9, 6, 8]
[9, 7, 1]
[9, 7, 2]
[9, 7, 3]
[9, 7, 4]
[9, 7, 5]
[9, 7, 6]
[9, 7, 8]
[9, 8, 1]
[9, 8, 2]
[9, 8, 3]
[9, 8, 4]
[9, 8, 5]
[9, 8, 6]
[9, 8, 7]
'Algorithm > Study' 카테고리의 다른 글
Swift - Graph Implemetation (0) | 2020.07.20 |
---|---|
Java 중복유무 순열 조합 (0) | 2020.07.11 |
Swift - BFS iteration on Binary Tree (0) | 2020.07.09 |
Swift 배열 처리 (1) | 2020.07.04 |
📕 잠깐 내가 이해한게 맞는지 정리 (0) | 2020.06.19 |
댓글