궤도

[백준] 10973번 : 이전 순열 본문

💻 현생/⛓ 알고리즘

[백준] 10973번 : 이전 순열

영이오 2021. 4. 14. 19:19

문제

 


풀이

 

myunji.tistory.com/299

 

[백준] 10972번 : 다음 순열

문제 풀이 myunji.tistory.com/19?category=1154147 [EPPER] 11회 6번 문제 풀이 접근을 잘못했던 문제. 하필이면 그 접근으로도 입력 예시는 전부 다 맞게 나와서 난 그게 맞는 줄 알았다. 근데 혹시나 하는 마.

myunji.tistory.com

이 문제의 반대 버전이다.

풀이도 반대로 하면 될테니까 그냥 이번에도 내장 함수를 써야겠다.

 

www.cplusplus.com/reference/algorithm/prev_permutation/?kw=prev_permutation

 

prev_permutation - C++ Reference

function template std::prev_permutation default (1)template bool prev_permutation (BidirectionalIterator first, BidirectionalIterator last ); custom (2)template bool prev_permutation (BidirectionalIterator first, BidirectionalIterator last, Com

www.cplusplus.com


소스코드

 

#include <iostream>
#include <algorithm>

using namespace std;

int main() {
    int N, input;
    vector<int> arr;

    cin >> N;
    for (int i = 0; i < N; i++) {
        cin >> input;
        arr.push_back(input);
    }
    if (prev_permutation(arr.begin(), arr.end())) { //이전 순열이 있다면
        for (int i = 0; i < N; i++)
            cout << arr[i] << ' ';
    } else //없다면
        cout << -1;
}
Comments