Paiza Cランク獲得問題（Dランク相当） 配列活用メニュー

paizaのCランク獲得問題の解答がなかったので、備忘録として残します。
明らかに簡単な問題の場合は省略しますが、個人的に少しでも考えたコードを残していきたいと思います。
初心者ですので醜いコードを書きますが、温かい目で見守っていただけると嬉しいです。
また、より良い記述方法などありましたら、コメント等で教えていただけると嬉しいです。

# 目次
- 指定の要素のカウント
- 全ての要素の和
- 指定要素があるかの判定
- 指定要素の先頭位置 
- 要素の種類数
- 【配列を参照する操作】全ての要素に対する操作 
- 配列の順序の反転
- 指定要素の入れ替え
- 末尾への要素の追加
- 指定位置への要素の追加









## 指定の要素のカウント
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__count/edit?language_uid=c-sharp)
```c#
using System;
class Program
{
    public static void Main()
    {
        string []NK=Console.ReadLine().Split();
        int N=int.Parse(NK[0]);
        int K=int.Parse(NK[1]);
        int []A=new int [N];
        int count=0;
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
            if(A[i]==K){
                count++;
            }
        }
        Console.WriteLine(count);
    }
}
```



## 全ての要素の和
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__sum/edit?language_uid=c-sharp)
```c#
using System;

class Program
{
    public static void Main()
    {
        int N =int.Parse(Console.ReadLine());
        int [] A= new int [N];
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }
        int sum=0;
        for(int i=0;i<N;i++){
            sum+=A[i];
        }
        Console.WriteLine(sum);
    }
}
```
Linq のA.Sum()を用いても出来ます。
次の最大値もA.Max()で出来ます。
その次の最小値もA.Min()で出来ます。

## 指定要素があるかの判定
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__exist/edit?language_uid=c-sharp)
```c#
using System;


class Program
{
    public static void Main()
    {
        string [] NK=Console.ReadLine().Split();
        int N=int.Parse(NK[0]);
        int K=int.Parse(NK[1]);
        int [] A= new int [N];
        int count=0;
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
            if(A[i]==K){
                count++;
            }
        }
        if(count!=0){
            Console.WriteLine("Yes");
        }else{
            Console.WriteLine("No");
        }
        
    }
}
```

##  指定要素の先頭位置 
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__find/edit?language_uid=c-sharp)
```c#
using System;


class Program
{
    public static void Main()
    {
        string [] NK=Console.ReadLine().Split();
        int N=int.Parse(NK[0]);
        int K=int.Parse(NK[1]);
        int [] A= new int [N];
        int count=0;
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }
        int Index = -1;
        for (int i = 0; i < N; i++)
        {
            if (A[i] == K)
            {
                Index = i+1;
                break;
            }
        }
        
        Console.WriteLine(Index);
        
    }
}
```
## 要素の種類数
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__kind/edit?language_uid=c-sharp)
```c#
using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        int N =int.Parse(Console.ReadLine());
        int [] A= new int [N];
        
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }
         HashSet<int> value = new HashSet<int>();
        for (int i = 0; i < N; i++)
        {
            value.Add(A[i]);
        }
        int reuslt =value.Count;
        Console.WriteLine(reuslt);
        
    }
}
```

## 【配列を参照する操作】全ての要素に対する操作
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__map/edit?language_uid=c-sharp)
```c#
using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        string [] NK=Console.ReadLine().Split();
        int N=int.Parse(NK[0]);
        int K=int.Parse(NK[1]);
        int [] A= new int [N];
        
        for(int i=0;i<N;i++){
             int a=int.Parse(Console.ReadLine());
            A[i]=a+K;
            Console.WriteLine(A[i]);
        }
    }
}
```
## 配列の順序の反転
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__reverse/edit?language_uid=c-sharp)
```c#
using System;
class Program
{
    public static void Main()
    {
        int N =int.Parse(Console.ReadLine());
        int [] A= new int [N];
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }
        Array.Reverse(A);
         foreach (int num in A)
        {
            Console.WriteLine(num);
        }
    }
}
```

## 指定要素の入れ替え
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__swap/edit?language_uid=c-sharp)
```c#
using System;
class Program
{
    public static void Main()
    {
        int N =int.Parse(Console.ReadLine());
        int [] A= new int [N];
        
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }

        string [] XY=Console.ReadLine().Split();
        int X=int.Parse(XY[0]);
        int Y=int.Parse(XY[1]);
        int tmp;
        tmp=A[X-1];
        A[X-1]=A[Y-1];
        A[Y-1]=tmp;
        foreach(var result in A){
            Console.WriteLine(result);
        }
        
    }
}
```
以前どこかでやった気がします。
## 末尾への要素の追加
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__push_back/edit?language_uid=c-sharp)
```c#
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
    public static void Main()
    {
        int N =int.Parse(Console.ReadLine());
        int [] A= new int [N];
        
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }

        List<int> listA=A.ToList();
        int B =int.Parse(Console.ReadLine());
        listA.Add(B);
        foreach(var list in listA){
            Console.WriteLine(list);
        }
    }
}
```

## 指定位置への要素の追加
[問題文](https://paiza.jp/works/mondai/array_utilization_primer/array_utilization_primer__insert/edit?language_uid=c-sharp)
```c#
using System;
using System.Collections.Generic;
class Program
{
    public static void Main()
    {
        int N =int.Parse(Console.ReadLine());
        int [] A= new int [N];
        
        for(int i=0;i<N;i++){
            A[i]=int.Parse(Console.ReadLine());
        }

        List<int> listA=new List<int>(A);
        string[] nB =Console.ReadLine().Split();
        int n=int.Parse(nB[0]);
        int B=int.Parse(nB[1]);
        listA.Insert(n,B);
        foreach(var list in listA){
            Console.WriteLine(list);
        }
    }
}
```