10972_다음 순열

이준혁·2025년 12월 19일

예제 입력 1
4
1 2 3 4
예제 출력 1
1 2 4 3

예제 입력 2
5
5 4 3 2 1
예제 출력 2
-1

공부내용

  • next_permutation를 배웠는데 이는 순열의 다음것을 출력해주는것임
  • 이는 algorithm을 활용하면 #include가 있어야함
  • prev_permutation를 활용하면 전꺼가 되니까 기억해라
    if(next_permutation(get_num.begin(),get_num.end()))
    {
        for(int i = 0;i<in_num;i++)
        {
            cout<<get_num[i]<<' ';
        }
    }

이렇게 하면 다음께 출력이 되고

    do{ 
    for(int i = 0;i<in_num;i++) 
    {
        cout<<get_num[i]<<' ';
    }
    }while(next_permutation(get_num.begin(),get_num.end()));```

이렇게 하면 모든 순열이 출력이 된다

code

#include <iostream>
#include <string>
#include <algorithm>
#include <vector>

using namespace std;

int in_num;

vector <int> get_num; 


int main()
{
    cin>>in_num;

    get_num.resize(in_num);

    for(int i = 0;i<in_num;i++)
    {
        cin>>get_num[i];
    }


    if(next_permutation(get_num.begin(),get_num.end()))
    {
        for(int i = 0;i<in_num;i++)
        {
            cout<<get_num[i]<<' ';
        }
    }
    else
    {
        cout<<-1;
    }

    return 0;
}
profile
#자기공부 #틀린것도많음 #자기개발 여러분 인생이 힘들다 하더라도 그것을 깨는 순간 큰 희열감으로 옵니다~

0개의 댓글