寝癖頭の解法

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

paizaラーニング: C++による「文字列処理メニュー」問題集(3)

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

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

・C : 文字列から数値への変換

/*
C++による「文字列処理メニュー」問題集(3)
C : 文字列から数値への変換
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
using ll=long long;
int main(void){
    ll s;
    cin>>s;
    cout<<s-813<<endl;
    return 0;
}

・D : 数値から文字列への変換

/*
C++による「文字列処理メニュー」問題集(3)
D : 数値から文字列への変換
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int x,y,n;
    cin>>x>>y>>n;
    int xy=x+y;
    string s=to_string(xy);
    cout<<s[n-1]<<endl;
    return 0;
}

・D : 大文字から小文字への変換

/*
C++による「文字列処理メニュー」問題集(3)
D : 大文字から小文字への変換
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    cin>>s;
    transform(s.begin(),s.end(),s.begin(),::tolower);
    cout<<s<<endl;
    return 0;
}

・D : 小文字から大文字への変換

/*
C++による「文字列処理メニュー」問題集(3)
D : 小文字から大文字への変換
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    cin>>s;
    transform(s.begin(),s.end(),s.begin(),::toupper);
    cout<<s<<endl;
    return 0;
}

・D : 大文字小文字の反転

/*
C++による「文字列処理メニュー」問題集(3)
D : 大文字小文字の反転
https://paiza.jp/works/mondai
提出コードの解答例
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])){
            s[i]+=32;
        }else{
            s[i]-=32;
        }
    }
    cout<<s<<endl;
    return 0;
}

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