순열

알고리즘풀이

순열과 중복순열

알고리즘 문제를 풀면서, 매번 순열과 조합에 관한 문제가 나오면 헉!하고... 제대로 구현해보지 못한 것 같아, 이번 기회에 코드를 정리하고자 합니다. 순열 먼저 순열(permutation)입니다. 순열의 정의는 "서로 다른 N개에서 R개를 뽑아서 나열한 것"입니다. 또한 이로 인해 모든 순열의 시간복잡도는 O(n!)입니다. 그렇다면 순서가 상관있을까요? 맞습니다. 순서가 상관있습니다. 이 말의 의미는 다음과 같습니다. 숫자가 0, 1, 2로 총 3개가 있고, 이 중 2개를 뽑는 순열을 생각해봅시다. 순열은 순서가 상관있기 때문에, 즉 순서를 고려하기에, 같은 숫자를 뽑더라도 순서가 다르다면 다른 것입니다. 그렇다면 다음과 같은 순열을 얻을 수 있을 것입니다. {0, 1}, {0, 2}, {1, 0}, ..

codingjavaman
'순열' 태그의 글 목록