같은 것을 포함하는 순열 생성기
표준 라이브러리 itertools를 사용하면 주어진 집합의 원소로 만들 수 있는 모든 순열과 조합을 생성해 볼 수 있다. 이 모듈은 순열, 조합, 중복조합에 관한 제너레이터 함수를 제공하지만, 좀 더 개별적인 케이스에서 활용할 수 있는 함수는 제공해주지 않는 아쉬움이 있다. 예를 들면 중복 순열(사실 중복 순열은 itertools.product()
를 활용해서 구할 수 있다.)이라든지, 이 글에서 설명하고자 하는 같은 것을 포함하는 순열을 만드는 경우가 이에 해당한다.