순서와 상관 있게 뽑는다면 순열이다.
순서와 상관 없게 뽑는다면 조합이다.
순열은 순서가 정해진 임의의 집합을 다른 순서로 섞는 연산을 말한다.
문제에서 순서를 재배치하여…, ~한 순서의 경우 max값을 이라면 순열문제이다.
next_permutation() 사용시 주의할 점
next_permutation()과 prev_permutation() 두가지 함수중 보통은 next_permutation()을 쓰는데 그 때 배열을 오름차순으로 정렬해서 사용해야 한다.
next_permutation()은 새로운 순열이 이전 순열보다 사전순으로 큰 경우 true를 반환하고 마지막 순열에 도달하고 범위가 첫 번째 순열로 재설정된 경우 false를 반환하는 함수이다.
이를 do - while문으로 모든 순열에 해당하는 배열을 나타낼 수 있다.
재귀함수로 만드는 순열
'언어 기초 > C언어' 카테고리의 다른 글
[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] split()함수 (0) | 2024.02.19 |
---|---|
[요리조리 맛있는 C언어| PART04 연산자] 조건연산자?를 사용하여 최대값, 최소값 구하기 (0) | 2024.02.15 |
[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] 조합 (1) | 2024.02.09 |
[큰돌 C++ 알고리즘 코딩테스트 | 강의 0주차] 재귀함수(recursion) (0) | 2024.02.08 |
[큰돌 C++ 알고리즘 코딩테스트 | 알고리즘 교안] 공부환경세팅 및 시작 (0) | 2024.02.07 |