Problem:
Score : 200 points

Problem Statement

We have a string S of length N consisting of uppercase English letters.

How many times does ABC occur in S as contiguous subsequences (see Sample Inputs and Outputs)?

Constraints

3 \leq N \leq 50

S consists of uppercase English letters.

Input

Input is given from Standard Input in the following format:

N
S

Output

Print number of occurrences of ABC in S as contiguous subsequences.

Sample Input 1

10
ZABCDBABCQ

Sample Output 1

2

Two contiguous subsequences of S are equal to ABC: the 2-nd through 4-th characters, and the 7-th through 9-th characters.

Sample Input 2

19
THREEONEFOURONEFIVE

Sample Output 2

0

No contiguous subsequences of S are equal to ABC.

Sample Input 3

33
ABCCABCBABCCABACBCBBABCBCBCBCABCB

Sample Output 3

5

Solution in C# (Mono 4.6.2.0) (judge verdict: Accepted)

using System;

public class ABC150A {
  public static void Main(string[] args) {
    var str = Console.ReadLine();
    int n = int.Parse(str);
    string s = Console.ReadLine();
    int count = 0;
    int flag = 0;
    
    for (int i = 0; i < n-2; i++) {
      //string str2 = s[i] + s[i+1] + s[i+2];
      string str2 = String.Concat(s[i], s[i+1], s[i+2]);
      //Console.WriteLine(str2);
      if (str2.Equals("ABC")) {
        count++;
      }
       /*
      if ((s[i].Equals("A") && flag == 0) || (s[i].Equals("B") && flag == 1)) {
        flag++;
      }else if (s[i].Equals("C") && flag == 2) {
        count++;
        flag = 0;
      }else {
        flag = 0;
      }
      */
    }
    
    Console.WriteLine(count);
  }
}