寝癖頭の解法

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

paizaラーニング: C++による「Cランクレベルアップメニュー 」問題集: forループ

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

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

・STEP: 1 3の倍数のカウント

/*
C++による「Cランクレベルアップメニュー 」問題集: forループ
STEP: 1 3の倍数のカウント
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int a,n,cnt=0;
    cin>>n;
    for(int i=0;i<n;i++){
        cin>>a;
        if(a%3==0){
            ++cnt;
        }
    }
    cout<<cnt<<endl;
    return 0;
}

・STEP: 2 フラグ管理

/*
C++による「Cランクレベルアップメニュー 」問題集: forループ
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;
    bool tf=false;
    for(int i=0;i<n;i++){
        int a;
        cin>>a;
        if(a==7){
            tf=true;
            break;
        }
    }
    cout<<((tf==true)?"YES":"NO")<<endl;
    return 0;
}

・STEP: 3 インデックス取得

/*
C++による「Cランクレベルアップメニュー 」問題集: forループ
STEP: 3 インデックス取得
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n,k;
    cin>>n;
    vector<int> a(n);
    for(int i=0;i<n;i++){
        cin>>a[i];
    }
    cin>>k;
    for(int i=0;i<n;i++){
        if(a[i]==k){
            cout<<i+1<<endl;
            break;
        }
    }
    return 0;
}

・STEP: 4 多重ループ

/*
C++による「Cランクレベルアップメニュー 」問題集: forループ
STEP: 4 多重ループ
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int m,n;
    cin>>m;
    vector<string> c(m);
    for(int i=0;i<m;i++){
        cin>>c[i];
    }
    cin>>n;
    vector<string> s(n);
    for(int i=0;i<n;i++){
        cin>>s[i];
    }
    for(int i=0;i<m;i++){
        for(int j=0;j<n;j++){
            if(s[j].find(c[i])==string::npos){
                cout<<"NO"<<endl;
            }else{
                cout<<"YES"<<endl;
            }
        }
    }
    return 0;
}

・FINAL問題: forループ

/*
C++による「Cランクレベルアップメニュー 」問題集: forループ
FINAL問題: forループ
https://paiza.jp/works/mondai
提出コードの解答例
https://neguse-atama.hatenablog.com
*/
#include<bits/stdc++.h>
using namespace std;
int main(void){
    int n,m,k;
    cin>>n>>m>>k;
    vector<vector<int>> a(n,vector<int>(m));
    for(int i=0;i<n;i++){
        for(int j=0;j<m;j++){
            cin>>a[i][j];
        }
    }
    for(int i=0;i<n;i++){
        int cnt=0;
        for(int j=0;j<m;j++){
            if(a[i][j]==k){
                cnt++;
            }
        }
        cout<<cnt<<endl;
    }
    return 0;
}

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