
Next Permutation
·
Computer Science/Algorithms
Next Permutation ? 다음 순열이란, 말 그래도 해당 숫자의 다음에 올 순열의 수를 의미한다. 123 -> 132, 132 -> 213, 213 -> 231 ... 와 같다. 그렇다면 우리는 123의 다음 순열인 132를 구하는 과정을 살펴보겠다. 1. 해당 수의 맨 오른쪽부터 왼쪽으로 차례대로 $ i $ > $ i -1 $ 이고, $ A_{i} $ > $ A_{i-1} $인 수를 찾는다.$ ( $$ i $는 인덱스 번호, $ A_{i} $는 해당 자리의 값$ ) $ 2. 두 수 분리하기. 찾은 두 수를 막대를 하나 긋고, 임의로 왼쪽, 오른쪽으로 분리시킨다. 3. 왼쪽 공간의 가장 오른쪽 숫자에 대하여 오른쪽 공간의 우측 끝 부분 부터 왼쪽으로 탐색하면서, 더 큰 수를 찾는다. 4...