寝癖頭の解法

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

paizaラーニング: C++によるpaizaの森練習問題コンテスト過去問題3

paizaラーニングのレベルアップ問題集「paizaの森練習問題コンテスト過去問題3」からの出典です。
paiza.jp
C++による「paizaの森練習問題コンテスト過去問題3」と、それらの提出コードの解答例です。

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

・文字列の逆順

paiza.jp

/*
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.jp

/*
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.jp

/*
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.jp

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