寝癖頭の解法

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

paizaラーニング: C++による「Bランクレベルアップメニュー」問題集 足すか掛けるか

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

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

・STEP: 1 要素数の出力

/*
C++による「Bランクレベルアップメニュー」問題集 足すか掛けるか
STEP: 1 インクリメント
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 n;
    cin>>n;
    cout<<n+1<<endl;
    return 0;
}

・STEP: 2 文字列の出力

/*
C++による「Bランクレベルアップメニュー」問題集 足すか掛けるか
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;
    cin.ignore();
    vector<string> s(n);
    for(int i=0;i<n;i++){
        getline(cin,s[i]);
        vector<string> t;
        stringstream ss{s[i]};
        string u;
        while(getline(ss,u,' ')){
            t.push_back(u);
        }
        for(int i=0;i<t.size();i++){
            cout<<t[i];
            if(i!=t.size()-1){
                cout<<" ";
            }else{
                cout<<endl;
            }
        }
    }
    return 0;
}

・STEP: 3 文字列の分割

/*
C++による「Bランクレベルアップメニュー」問題集 足すか掛けるか
STEP: 3 文字列の分割
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s1,s2;
    cin>>s1>>s2;
    cout<<s1<<endl;
    cout<<s2<<endl;
    return 0;
}

・STEP: 4 整数の足し算

/*
C++による「Bランクレベルアップメニュー」問題集 足すか掛けるか
STEP: 4 整数の足し算
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 a,b;
    cin>>a>>b;
    cout<<a+b<<endl;
    return 0;
}

・FINAL問題: 足すか掛けるか

/*
C++による「Bランクレベルアップメニュー」問題集 足すか掛けるか
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<int> a(n),b(n);
    for(int i=0;i<n;i++){
        cin>>a[i]>>b[i];
    }
    vector<int> c(n);
    for(int i=0;i<n;i++){
        if(a[i]==b[i]){
            c[i]=a[i]*b[i];
        }else{
            c[i]=a[i]+b[i];
        }
    }
    int ans=0;
    for(int i=0;i<n;i++){
        ans+=c[i];
    }
    cout<<ans<<endl;
    return 0;
}

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