개의 조합을 만드는 법 [A, B, C, D, E] -> [[], [A], [B] ..... [A,B,C] ....
[A,B,C,D,E]] 이때 2진법으로 해당 인덱스의 여부를 표현할 수 있다. [] => 00000 [A,C,D] => 10110 [A,B,C,D,E] => 11111 import Foundation func combinations(guestlist: Array) -> [[String]] { var n = guestlist.count var allCom: [[String]] = [] var powered = Int(pow(2, Double(n))) for i in 0..<(powered) { var num = i var cList: [String] = [] for j in 0...n { if (num % 2 == 1) { cList += [guestlist[j]] } num = num / 2 } allCom.append(cList) } return all...
원문 링크 : 모든 조합 만드는 법