競技プログラミングで使用する配列系の文法を記述します。
配列系
配列を逆順にする
char[] sa = "何かしら"; char[] r_sa = sa.Reverse().ToArray();
特定の文字の個数を文字列中から検索
//文字列Sから”A"の個数を検索 string S = Console.ReadLine(); S.Where(x=>x=='A').Count();
配列の重複要素を削除する
//配列Aの重複要素を削除した配列hs1 int[] A = Array.ConvertAll(Console.ReadLine().Split(),int.Parse); HashSet<int> hs1 = new HashSet<int>(A);
文字列を追加する+同じ文字を並べる
string ans = new string('U',3);//UUU ans += new string('R',3);//UUURRR
カウント
配列Aに含まれる1の個数を数える場合
import System.Linq;
A.Count(x=>x==1)
条件に一致する値を見つけたら出力する
//n配列の中に2で割り切れる物がある場合、0を出力する var n = Console.ReadLine().Split().Select(long.Parse).toArray(); if(Array.Exists(n,(a) => { return a % 2 == 0; })) { Console.WriteLine(0); }
文字列sのi番目と文字列tの0〜n-i番目の文字が一致していたらbreak;
if(s.Substring(i) == t.Substring(0, n - i)){ break; }
インデックス番号を取得する
使用可能なのは、String型でIndexOfあるいはList型でIndexOf
型を柔軟に変更しやすいList型を使用するのが良い。
int[] nm = Array.ConvertAll(Console.ReadLine().Split(),int.Parse); List<int> disclist = Enumerable.Range(1, nm[0]).ToList(); disc = 2; <span style="color: #ff5252">int index = disclist.IndexOf(disc);</span>