itertools

    [파이썬/Python] 순열과 조합 (Permutation and Combination)

    [파이썬/Python] 순열과 조합 (Permutation and Combination)

    순열과 조합 순열 (Permutation) 순열이란 서로 다른 n개에서 r개를 선택할 때 순서를 고려하여 선택한 경우의 수를 나열하는 방법이다. 보통 Permutation의 첫 글자 P를 따서 nPr로 표현하며 계산식은 아래와 같이 쓸 수 있다. 0 ≦ r ≦ n nPr = n x (n-1) x (n-2) x (n-3) x …… x (n-r+1) ※ n부터 (n-r+1)까지 곱해지는 수는 총 r개 nPr = n! / (n-r)! 가령, 알파벳이 써져 있는 카드 4개가 있다고 해보자. 각 카드에는 A, B, C, D가 써져 있는데 이 중에서 순서를 고려하여 2장을 뽑고 싶다고 하자. 공식에 따르면 4P2 = 4 x 3 = 12 혹은 4P2 = 4! / (4-2)! = 4 x 3 x 2 x 1 / 2 x 1..