조합
순열
차이점
예시
조합 코드
answer = []
def combination(idx,cur,r,lst):
global answer
if len(cur) == r:
answer.append(cur[:])
return
for i in range(idx,len(lst)):
combination(i+1,cur+[lst[i]],r,lst)
combination(0,[],2,[1,2,3])
print(answer)
순열 코드
answer = []
def permutation(cur,r,lst,visited):
global answer
if len(cur) == r:
answer.append(cur[:])
return
for i in range(len(lst)):
if not visited[i]:
visited[i] = True
permutation(cur+[lst[i]],r,lst,visited)
visited[i] = False
permutation([],2,[1,2,3],[False]*3)
print(answer)