paizaラーニングのレベルアップ問題集「paizaの森練習問題コンテスト過去問題3」からの出典です。
paiza.jp
C++による「paizaの森練習問題コンテスト過去問題3」と、それらの提出コードの解答例です。
僕が作成、提出したコードは、以下のとおりです。
・文字列の逆順
/* paizaラーニング: C++によるpaizaの森練習問題コンテスト過去問題3 文字列の逆順 https://paiza.jp/works/mondai/forest_contest_003/forest_contest_003__d_reverse 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; reverse(s.begin(),s.end()); cout<<s<<endl; return 0; }
・英単語の生成(連結)
/* paizaラーニング: C++によるpaizaの森練習問題コンテスト過去問題3 英単語の生成(連結) https://paiza.jp/works/mondai/forest_contest_003/forest_contest_003__d_join 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s1,s2; cin>>s1>>s2; cout<<s1<<s2<<endl; return 0; }
・小文字にする
/* paizaラーニング: C++によるpaizaの森練習問題コンテスト過去問題3 小文字にする https://paiza.jp/works/mondai/forest_contest_003/forest_contest_003__d_lowercase 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; int main(void){ string s; cin>>s; for(int i=0;i<s.size();i++){ if(isupper(s[i])){ char c=s[i]+32; cout<<c; }else{ cout<<s[i]; } } cout<<"\n"; return 0; }
・キーボードのシミュレーション
/* paizaラーニング: C++によるpaizaの森練習問題コンテスト過去問題3 キーボードのシミュレーション https://paiza.jp/works/mondai/forest_contest_003/forest_contest_003__c_keyboard 提出コードの解答例 https://neguse-atama.hatenablog.com */ #include<bits/stdc++.h> using namespace std; using ll=long long; int main(void){ ll n; cin>>n; bool ctf=false; for(ll i=0;i<n;i++){ string s; cin>>s; if(s=="capslock"){ (ctf==false ? ctf=true : ctf=false); }else if(s=="shift"){ char t; cin>>t; cout<<(char)toupper(t); }else{ if(ctf==false){ cout<<s; }else{ cout<<(char)toupper(s[0]); } } } return 0; }
paizaラーニングのレベルアップ問題集については、ユーザー同士で解答を教え合ったり、コードを公開したりするのは自由としています。
また授業や研修、教材などにも利用できるそうです。