ねむーの日記~AtCoderな日々~

福岡に住むプログラミング好きのブログです!

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.はじめに

今回も、プログラミング言語C#を使用しています。

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問題は灰色パフォーマンスなのは驚きです…