AtCoder Beginner Contest 150 B - Count ABC
緑色になってから毎回コンテストに緊張します、ねむーです。
今回はAtCoder(https://atcoder.jp/contests/abc150/tasks/abc150_b)にて開催されました、AtCoder Beginner Contest 150 B問題「B - Count ABC」の問題と僕との戦闘記です。
0.はじめに
1.問題文
英大文字のみからなる長さ N の文字列 S があります。
S の連続する部分列 (入出力例をご覧ください) として ABC がいくつ含まれるかを求めてください。
2.制約
- 3 ≤ N ≤ 50
- S は英大文字のみからなる。
3.入力例
- 入力
33 ABCCABCBABCCABACBCBBABCBCBCBCABCB
- 出力
5
4.初見の感想
- string型は配列形式で要素にアクセスできる(input[i]の形)
- for文でABCを検出
5.コードと簡単な解説
using System; using System.Collections.Generic; using System.Linq; class Program { public static void Main() { int N = int.Parse(Console.ReadLine()); string input = Console.ReadLine(); int ans = 0; for(int i = 0; i < N - 2; i++) { if (input[i] == 'A' && input[i+1] == 'B' && input[i+2] == 'C') ans++; } Console.WriteLine(ans); } }
6.最後に
最近のB問題は灰色パフォーマンスなのは驚きです…