STL to Collection (3)
cpp에서 사용하는 next_permutation 관련 기능을 java로 치환해봅니다.
순열(Permutation)
cpp
1 |
|
1 |
|
java
1 |
|
1 |
|
- java의 경우 따로 메소드를 제공하지 않아서 직접 구현해주어야 합니다.
kotlin
1 |
|
- tip:
MutableList(list.size) { false }
으로 원하는 사이즈만큼 디폴트 값을 채운채 초기화 할 수 있습니다.
조합(Combination)
조합의 경우 cpp, java 둘다 따로 메소드를 제공하지 않습니다.
cpp
1 |
|
- 저의 경우 cpp의 경우에는
next_permutation
를 이용해 작성합니다. - 순서도 맞추고 싶은경우
prev_permutation
을 이용하면됩니다.
1 |
|
java
1 |
|
1 |
|
- 선택하거나, 선택하지 않는 작업을 재귀적으로 반복합니다.
- 이때 항상 인덱스는 증가시킵니다.
- 기저 조건은 선택한 개수가 원하는 개수와 같을때 or 배열 인덱스를 넘어가려고 할때로 잡습니다. 두 순서를 주의해야합니다.
kotlin
1 |
|