Open rhakdnj opened 2 years ago
def combination(arr: list, n: int) -> list[list]:
ret = []
if n == 0:
return [[]]
if n == 1:
return [[i] for i in arr]
for i in range(len(arr)):
elem = arr[i]
c = combination(arr[i + 1:], n - 1)
for rest in c:
ret.append([elem] + rest)
return ret
def permutation(arr: list, n: int) -> list[list]:
ret = []
if n == 0:
return [[]]
if n == 1:
return [[i] for i in arr]
for i in range(len(arr)):
elem = arr[i]
p = permutation(arr[:i] + arr[i + 1:], n - 1)
for rest in p:
ret.append([elem] + rest)
return ret
문제 링크
📌 TODO