0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Paiza Cランク獲得問題(Dランク相当) 配列メニュー③ C#

Posted at

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

目次

  • 配列のソート
  • 要素のカウント
  • 配列末尾への追加
  • 要素の削除
  • 要素の挿入
  • 要素数の出力
  • 全要素の出力
  • i 番目の出力 4
  • 辞書順に出力 1
  • 【文字列の配列】辞書順に出力 Boss

配列のソート

問題文

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int N=int.Parse(Console.ReadLine());
        int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        Array.Sort(a);
        for(int i=0;i<N;i++){
            Console.WriteLine(a[i]);
        }
    }
}

配列の反転はSortの部分をReverseにすると出来ます。

要素のカウント

問題文

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] NM= Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int N=NM[0];
        int M=NM[1];
        int count=0;
        for(int i=0;i<N;i++){
            if(a[i]==M){
                count++;
            }
        }
        Console.WriteLine(count);
    }
}

配列末尾への追加

問題文

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int[] NM= Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int N=NM[0];
        int M=NM[1];
        Array.Resize(ref a,a.Length+1);
        a[a.Length-1]=M;
        for(int i=0;i<N+1;i++){
           Console.WriteLine(a[i]);
        }
        
    }
}

要素の削除

問題文

using System;
using System.Linq;
using System.Collections.Generic;


class Program
{
    static void Main()
    {
        int[] NM= Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int[] a = Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        int N=NM[0];
        int M=NM[1];
        var list =a.ToList();
        list.RemoveAt(M-1);
        a=list.ToArray();
        
        for(int i=0;i<a.Length;i++){
           Console.WriteLine(a[i]);
        }
        
    }
}

初めからListで受け取ったほうがスムーズでした。

要素の挿入

問題文

using System;
using System.Linq;
using System.Collections.Generic;


class Program
{
    static void Main()
    {
        int[] NMK= Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        List<int> a = Console.ReadLine().Split(' ').Select(int.Parse).ToList();
        int N=NMK[0];
        int M=NMK[1];
        int K=NMK[2];
        
        a.Insert(M-1,K);
        int[]array=a.ToArray();
        
        for(int i=0;i<array.Length;i++){
           Console.WriteLine(a[i]);
        }
        
    }
}

要素数の出力

問題文

using System;

class Program
{
    static void Main()
    {
        string[] strings = new string[]
        {
            "Hello",
            "paiza",
            "1234",
            "pa13"
        };

        int count = strings.Length;
        Console.WriteLine(count);
    }
}

全要素の出力

問題文

using System;

class Program
{
    static void Main()
    {
        string[] strings = new string[]
        {
           "good",
           "morning",
           "paiza",
           "813",
           "pa13"
        };

        foreach(string item in strings){
            Console.WriteLine(item);
        };

    }
}

以降しばらくはほぼ同じです。

i 番目の出力 4

問題文

using System;
using System.Linq;
class Program
{
    static void Main()
    {
        int [] NML=Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        string [] strings=Console.ReadLine().Split();
        int N=NML[0];
        int M=NML[1];
        int L=NML[2];
        string moji=strings[N-1];
        char m = moji[L-1];
        Console.WriteLine(m);
    }
}

辞書順に出力 1

問題文

using System;
class Program
{
    static void Main()
    {
        string[] strings = new string[]
        {
           "zaipa",
           "izapa",
           "paiza"
        };
        Array.Sort(strings);
        foreach(string val in strings){
            Console.WriteLine(val);
        }
    }
}

【文字列の配列】辞書順に出力 Boss

問題文

using System;
using System.Linq;

class Program
{
    static void Main()
    {
        int [] NK=Console.ReadLine().Split(' ').Select(int.Parse).ToArray();
        string []strings =Console.ReadLine().Split();
        int K=NK[1];
        Array.Sort(strings);
        Console.WriteLine(strings[K-1]);
    }
}
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?