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