아직 만들고 있는 페이지입니다.

이 페이지는 아직 만드는 중입니다. 보이는 내용은 바뀔 수 있습니다.

IOIOI

면접 대비

시간 제한1초메모리 제한256 MB

요약
I와 O가 번갈아 나타나는 문자열 P_N(N+1개의 I, N개의 O)이 S에서 겹치는 경우까지 모두 세어 몇 번 나타나는지 구한다.
난이도

보통10점 중 5점

유형
문자열, 슬라이딩 윈도우, 구현, 문자열 매칭
정답자
아직 제출이 없습니다

문제

I N+1N+1개와 O NN개로 이루어지고 I와 O가 번갈아 나타나는 문자열을 PNP_N이라고 하자. 즉 PNP_N은 I로 시작해 I로 끝나며 그 사이에 O가 NN개 들어간다.

  • P1P_1 = IOI
  • P2P_2 = IOIOI
  • P3P_3 = IOIOIOI
  • PNP_N = IOIOI…OI (O가 NN개)

I와 O로만 이루어진 문자열 SS와 정수 NN이 주어질 때, SS 안에 PNP_N이 몇 군데 나타나는지 세는 프로그램을 작성하시오. 겹쳐서 나타나는 경우도 각각 센다.

입력

첫째 줄에 정수 NN이 주어진다.

둘째 줄에 문자열 SS의 길이 MM이 주어진다.

셋째 줄에 문자열 SS가 주어진다.

출력

SS 안에 PNP_N이 몇 군데 나타나는지를 한 줄에 출력한다.

제한

  • 1≤N≤1,000,0001 \le N \le 1{,}000{,}000
  • 2N+1≤M≤1,000,0002N+1 \le M \le 1{,}000{,}000
  • SS는 I와 O로만 이루어져 있다.

예제2

  1. 예제 1

    입력
    1
    13
    OOIOIOIOIIOII
    
    예상 출력
    4
    
  2. 예제 2

    입력
    2
    13
    OOIOIOIOIIOII
    
    예상 출력
    2