순열, 조합 구현
순열 - 직접 구현
result = []
def permutation(arr, size, ele):
if len(ele) == size:
result.append(ele[:])
return
for i in range(len(arr)):
ele.append(arr[i])
temp = arr[:]
temp.remove(arr[i])
permutation(temp, size, ele)
ele.pop()
permutation(range(9), 1, [])
permutation(range(9), 2, [])
permutation(range(9), 3, [])
permutation(range(9), 4, [])
permutation(range(9), 5, [])
print(result)
from itertools import permutations
9P2 = list(map(list, permutations(range(9), 2)))
9P3 = list(map(list, permutations(range(9), 3)))
9P4 = list(map(list, permutations(range(9), 4)))
9P5 = list(map(list, permutations(range(9), 5)))
조합 - 직접 구현
result = []
def combination(arr, size, ele):
if len(ele) == size:
result.append(ele[:])
return
for i in range(len(arr)):
ele.append(arr[i])
combination(arr[i+1:], size, ele)
ele.pop()
combination(range(9), 1, [])
combination(range(9), 2, [])
combination(range(9), 3, [])
combination(range(9), 4, [])
combination(range(9), 5, [])
print(result)
from itertools import combinations
9C2 = list(map(list, combinations(range(9), 2)))
9C3 = list(map(list, combinations(range(9), 3)))
9C4 = list(map(list, combinations(range(9), 4)))
9C5 = list(map(list, combinations(range(9), 5)))