๐Ÿ“ ์ฝ”ํ…Œ/๊ฟ€ํŒ

[Swift] ์ˆœ์—ด, ์กฐํ•ฉ

JerryiOS 2023. 4. 11. 23:30

์ˆœ์—ด

func permutation<T>(array: [T], n: Int) {
    
    var visited = [Bool](repeating: false, count: array.count)
    
    func permutation(current: [T]) {
        if current.count == n {
            print(current)
            return
        }
        
        for i in 0..<array.count {
            if !visited[i] {
                visited[i] = true
                permutation(current: current + [array[i]])
                visited[i] = false
            }
        }
    }
    permutation(current: [])
}

์กฐํ•ฉ

func combination<T>(array: [T], n: Int) {
    
    func combination(index: Int, current: [T]) {
        if current.count == n {
            print(current)
            return
        }
        for i in index..<array.count {
            combination(index: i + 1, current: current + [array[i]])
        }
    }
    combination(index: 0, current: [])
}

 

์ถœ์ฒ˜ : let us Go! ๋งŒ๋„์Šค๋‹˜

๋ฐ˜์‘ํ˜•