백준 알고리즘/Python

파이썬 - 순열과 조합 라이브러리

고인호 2022. 11. 22. 20:08
반응형

1. 순열

파이썬에서 순열을 사용하려면 permutations 라이브러리를 사용해야한다. 

 

 

 

만약 위와 같이 'A', 'B', 'C'를 원소로 가진 리스트가 있을때 

list(permutations(data,2)) 를 사용한다면 data의 원소들 중 서로다른 2개를 선택해 나열하는

모든 경우의 수를 리턴하게 된다. (즉 순열에서 3P2와 같은 의미)

 

따라서 

다음과 같은 결과값을 얻을 수 있다. 

 

 

 

 

1-1. 중복 순열

중복 순열에서는 위의 permutations 대신 product를 사용한다. 

 


 

2. 조합

파이썬에서 조합을 사용하려면 combinations 라이브러리를 사용해야한다. 

 

 

이번에도 위의 순열 부분과 동일하게 똑같은 원소의 list를 가지고 있을때 

list(combinations(data,2)) 를 사용하게 된다면 순서와 상관 없이 서로 다른 2개를 선택해 나열하게 된다. 

즉 조합에서 3C2와 같은 의미를 갖는다. 

 

따라서 다음과 같은 결과값을 얻을 수 있다. 

 

 

 

2-1. 중복 조합

중복 조합에서는 위의 combinations 대신 combinations_with_replacement를 사용한다. 

반응형