[Array] Permutations
2021. 3. 26. 17:19ㆍ프로그래밍-코딩테스트/LeetCode
배열이 주어지면 해당 원소들로 만들 수 있는 순열 케이스를 모두 구하는 문제
input이 아예 없거나 하나인 경우는 일단 걸러준다.
이후 Loop를 돌면서, 순회 차례가 된 원소를 제외하고 나머지를 recursion으로 넘겨준다.
이때 recursion의 결과인 res는 배열로 나올것이므로, 다시 순회하며 결과를 하나씩 만들어준다.
이렇게 하는 이유는, 나머지를 가지고 만든 순열의 경우의 수에 순회 차례가 된 원소만 concat으로 붙여주면
해당 배열로 만들 수 있는 모든 경우의 수가 되기 때문이다.
이러한 행위를 순회하면 모든 경우의 수를 구할 수 있다.
'프로그래밍-코딩테스트 > LeetCode' 카테고리의 다른 글
[backtracking] Generate Parentheses (0) | 2021.03.26 |
---|---|
[Tree] Binary Tree Inorder Traversal (0) | 2021.03.26 |
[Queue] Queue Reconstruction by Height (0) | 2021.03.26 |
[DP] Counting Bits (0) | 2021.03.26 |
[Array] Partition Labels (0) | 2021.03.26 |