C# ~forループ~ Cランクレベルアップメニュー 

システムエンジニアの研修の１つに「paizaBランク問題をクリア」があるのでその目標を達成するまでの過程を備忘録として残します。

今後業務に参加していく際に記述方法を忘れてしまった未来の自分に向けて、メモを残すと同時にこの記事がC#を学習している方、同じ箇所で躓いている方の参考になればと思っています。
ですので内容に誤りがある場合やより良い記述をご存知の方はコメントで共有していただけると嬉しいです。

それでは本編に入ります。
今回はPaizaラーニング、レベルアップ問題集「forループ」の問題をC#で回答したときの内容になります。

## STEP: 1 3の倍数のカウント
問題文:https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_for_step1

```c#:paiza.cs
 using System;
class Program
{
    static void Main()
    {
        int line = int.Parse(Console.ReadLine());
        string[] numArray = Console.ReadLine().Split(' ');
        int answer = 0;
        int count = 0;
        for(var i = 0; i < line; i++){
            answer = int.Parse(numArray[i]) % 3;
            if(answer == 0){
                count += 1;
            }
        }
        Console.WriteLine(count);
    }
}
```

## STEP: 2 フラグ管理
問題文:https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_for_step2

```c#:paiza.cs
using System;
using System.Linq;
class Program
{
    static void Main()
    {
        int line = int.Parse(Console.ReadLine());
        string[] numArray = new string[line];
        // int number = 0;
        for(var i = 0; i < line; i++){
            numArray[i] = Console.ReadLine();
        }
        if(numArray.Contains("7")){
            Console.WriteLine("YES");
        } else {
            Console.WriteLine("NO");
        }
    }
}
```

##  STEP: 3 インデックス取得
問題文:https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_for_step3

```c#:paiza.cs
using System;
class Program
{
    static void Main()
    {
        // 自分の得意な言語で
        // Let's チャレンジ！！
        int line = int.Parse(Console.ReadLine());
        string[] haveMoneyArray = new string[line];
        for(var i = 0; i < line; i++){
            string haveMoney = Console.ReadLine();
            haveMoneyArray[i] = haveMoney;
        }
        string searchNum = Console.ReadLine();
        //　探したい文字のインデックス番号を取得
        int answerNum = Array.IndexOf(haveMoneyArray, searchNum) + 1;
        Console.WriteLine(answerNum);
    }
}
```

## STEP: 4 多重ループ
問題文:https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_for_step4

```c#:paiza.cs
using System;
using System.Collections.Generic;
class Program
{
    static void Main()
    {
        //調べる文字と調べられる文字列を各配列に格納
        int line1 = int.Parse(Console.ReadLine());
        string[] searchStringArray = new string[line1];
        for(var i = 0; i < line1; i++){
            searchStringArray[i] = Console.ReadLine();
        }
        int line2 = int.Parse(Console.ReadLine());
        string[] searchedStringArray = new string[line2];
        for(var j = 0; j < line2; j++){
            searchedStringArray[j] = Console.ReadLine();
        }
        //調べる文字　＞　調べられる文字でループ作成
        for(var k = 0; k < line1; k++){
            string searchString = searchStringArray[k];
            for(var l = 0; l < line2; l++){
                if(searchedStringArray[l].Contains(searchString)){
                    Console.WriteLine("YES");
                } else {
                    Console.WriteLine("NO");
                }
            }
        }
    }
}
```

## FINAL問題 forループ
問題文:https://paiza.jp/works/mondai/c_rank_level_up_problems/c_rank_for_boss

```c#:paiza.cs
 using System;
using System.Linq;
class Program
{
    static void Main()
    {
        // 自分の得意な言語で
        // Let's チャレンジ！！
        string[] NMK = Console.ReadLine().Split(' ');
        int N = int.Parse(NMK[0]);
        int M = int.Parse(NMK[1]);
        string K = NMK[2];
        for(var i = 0; i < N; i++){
            string[] writeNumArray = Console.ReadLine().Split(' ');
            Console.WriteLine(writeNumArray.Count(value => value == K));
        }
    }
}
```