Permutation

    [C++] 순열 (Permutation) 구할 수 있는 알고리즘

    개념n개의 값 중에서 r개의 숫자의 순서를 고려해 나열한 경우의 수 nPr = n x n-1 x n-2 ...... x n-r+1EX) {1,2,3} 총 3개의 값 중에서 3개의 숫자를 순서를 고려해 나열하면1 2 3 / 1 3 2 / 2 1 3 / 2 3 1 / 3 1 2 / 3 2 1 로 총 6개 로 나타낼 수 있다 (3! = 1x2x3)swap 방식 0번째 인덱스 원소를 0번째 부터 n-1번째까지 위치를 바꾼다 (ABC, BAC, CBA)1번 과정을 진행해서 나온 경우들을, 1번째 인덱스 원소를 1번째부터 n-1번째까지 위치를 바꾼다이러한 과정을 n-1번 반복한다 순열들의 순서가 보장되지 않는다 EX) C,A,B가 먼저 나오는게 아니라 C,B,A가 먼저 노출됨#include #include #inc..