寝癖頭の解法

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

paizaラーニング: C++による「標準入力サンプル問題セット」問題集

paizaラーニングのレベルアップ問題集「標準入力サンプル問題セット」からの出典です。
paiza.jp
C++による「標準入力サンプル問題セット」と、それらの提出コードの解答例です。

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

・1つのデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
1つのデータの入力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include <iostream>
using namespace std;
int main(void){
    char str[999];
    cin>>str;
    cout<<str<<endl;
    return 0;
}

・1行のデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
1行のデータの入力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include <iostream>
using namespace std;
int main(void){
    string str;
    getline(cin, str);
    cout <<str<< endl;
    return 0;
}

・3行のデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
3行のデータの入力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include <iostream>
using namespace std;
int main(void){
    int loop;
    string str;
    for(loop=0;loop<3;loop++){
        getline(cin, str);
        cout <<str<< endl;
    }
    return 0;
}

・N行のデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
N行のデータの入力
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;
}

・3つのデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
3つのデータの入力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    getline(cin,s);
    vector<string> t;
    stringstream ss{s};
    string u;
    while(getline(ss,u,' ')){
        t.push_back(u);
    }
    for(int i=0;i<t.size();i++){
        cout<<t[i]<<endl;
    }
    return 0;
}

・N個のデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
N個のデータの入力
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();
    string s;
    getline(cin,s);
    vector<string> t;
    stringstream ss{s};
    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<<endl;
        }
    }
    return 0;
}

・カンマ区切りの3つのデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
カンマ区切りの3つのデータの入力
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    string s;
    getline(cin,s);
    vector<string> t;
    stringstream ss{s};
    string u;
    while(getline(ss,u,',')){
        t.push_back(u);
    }
    for(int i=0;i<t.size();i++){
        cout<<t[i]<<endl;
    }
    return 0;
}

・カンマ区切りのN個のデータの入力

/*
C++による「標準入力サンプル問題セット」問題集
カンマ区切りのN個のデータの入力
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();
    string s;
    getline(cin,s);
    vector<string> t;
    stringstream ss{s};
    string u;
    while(getline(ss,u,',')){
        t.push_back(u);
    }
    for(int i=0;i<n;i++){
        cout<<t[i]<<endl;
    }
    return 0;
}

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