AtCoder Beginner Contest 349に参加しました。
結果
A,B,Cの3問正解でした。 D問題が解けそうな気がして頑張ってみたけど解ききれなかった。
A - Zero Sum Game
1対1で勝負して勝つとポイントが+1、負けるとポイントが-1するゲームでN-1人のポイントが教えられるのでN人目のポイントを答える問題。
何試合してもN人全体のポイントの合計は0のままなので、そこに気づけていたら簡単に解ける問題。 N-1人のポイントを合計して、正負を反転させた値を出力すれば解ける。
B - Commencement
文字列が与えられるのでどの文字が何回出てくるか数えて、i回出てくる文字が0種類か2種類だけになっているかを判定する問題。
i回出てくる文字がそれぞれ何種類あるか知りたいので、 まずはどの文字が何回出てくるかを数える。 次にi回出てきた文字が何種類あるかを数えていき回答を出力する。
連想配列を2つ使えば簡単に解ける問題。 1つ目の配列で文字をキーに出現回数をカウントし、 2つ目の配列で出現回数をキーにその回数出てきた文字の種類数をカウントする。
最後に2つ目の配列の各キーに紐づく値が0か2だけになっているかどうかを確認して回答を出力する。
C - Airport Code
長さ3以上の文字列S(英小文字)と長さ3の文字列T(英大文字)が与えられるので、 大文字小文字を無視して、TがSの空港コードとなっているかどうかを判定する問題。
前処理として文字列SとTの大文字小文字をどちらかに統一してから処理する。
あとはSを先頭から見つつ、Tの文字列が順番に出てくるかを確認して回答を出力する。