[python] permutation with repetition(중복순열) 구현하기 - itertools, recursion

skdus·2022년 1월 17일
0

Algorithms

목록 보기
4/6
post-thumbnail

✍중복순열이란?

중복 순열이란 중복 가능한 n개중에서 r개를 선택하는 경우의 수를 의미 (순서 상관 있음)


✍itertools를 사용한 중복순열

from itertools import product

arr=[1,2,3,4]
for i in product(arr,repeat=3):
    print(i, end=" ")

✍recursion를 사용한 중복순열

n, k = 3,2
A = ['귤', '감', '배']
arr = [0]*k

def combi(level, start):
  #종료조건
  if level >= k:
    print(arr)
    return

  for i in range(len(A)): # 중복조합과의 다른 점: 시작점을 지정하는지 안하는지!
    arr[level] = A[i]
    combi(level+1, i)

combi(0,0)

✍후기

코드 보러가기 👉 permutation_with_repetition.py
피드백은 언제나 환영입니다.💛

0개의 댓글