寝癖頭の解法

学習中の覚え書きを投稿、更新していきます。

paizaラーニング: C++による「Cランクレベルアップメニュー 」問題集: ソート

paizaラーニングのレベルアップ問題集「Cランクレベルアップセット」からの出典です。
paiza.jp
C++による「Cランクレベルアップメニュー 」問題集: ソートと、それらの提出コードの解答例です。

僕が作成、提出したコードは、以下のとおりです。

・STEP: 1 昇順ソート

/*
C++による「Cランクレベルアップメニュー 」問題集: ソート
STEP: 1 昇順ソート
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n;
    cin>>n;
    vector<int> a(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    sort(a.begin(),a.end());
    for(int i=0;i<n;i++){
        cout<<a[i]<<endl;
    }
    return 0;
}

・STEP: 2 降順ソート

/*
C++による「Cランクレベルアップメニュー 」問題集: ソート
STEP: 2 降順ソート
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n;
    cin>>n;
    vector<int> a(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    sort(a.rbegin(),a.rend());
    for(int i=0;i<n;i++){
        cout<<a[i]<<endl;
    }
    return 0;
}

・STEP: 3 辞書式ソート

/*
C++による「Cランクレベルアップメニュー 」問題集: ソート
STEP: 3 辞書式ソート
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n;
    cin>>n;
    vector<pair<int,int>> a(n);
    for(int i=0;i<n;i++){
        int b,c;
        cin>>b>>c;
        a[i].first=b;
        a[i].second=c;
    }
    sort(a.rbegin(),a.rend());
    for(int i=0;i<n;i++){
        cout<<a[i].first<<" ";
        cout<<a[i].second<<endl;
    }
    return 0;
}

・FINAL問題: ソート

/*
C++による「Cランクレベルアップメニュー 」問題集: ソート
FINAL問題: ソート
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n;
    cin>>n;
    vector<pair<int,int>> gs(n);
    for(int i=0;i<n;i++){
        int g,s;
        cin>>g>>s;
        gs[i].first=s;
        gs[i].second=g;
    }
    sort(gs.rbegin(),gs.rend());
    for(int i=0;i<n;i++){
        cout<<gs[i].second<<" ";
        cout<<gs[i].first<<endl;
    }
    return 0;
}

paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。