메모리: 32796 KB, 시간: 300 ms
문자열(string)
N+1개의 I
와 N개의 O
로 이루어져 있으면, I
와 O
이 교대로 나오는 문자열을 PN이라고 한다.
IOI
IOIOI
IOIOIOI
IOIOI...OI
(O
가 N개)I
와 O
로만 이루어진 문자열 S와 정수 N이 주어졌을 때, S안에 PN이 몇 군데 포함되어 있는지 구하는 프로그램을 작성하시오.
첫째 줄에 N이 주어진다. 둘째 줄에는 S의 길이 M이 주어지며, 셋째 줄에 S가 주어진다.
S에 PN이 몇 군데 포함되어 있는지 출력한다.
import sys
input = sys.stdin.readline
N = int(input())
M = int(input())
S = input().rstrip()
Pn = "IO" * N + "I"
cnt = 0
answer = 0
i = 0
while i < (M - 1) :
if S[i : i+3] == 'IOI' :
cnt += 1
i += 2
if cnt == N :
cnt -= 1
answer += 1
else :
i += 1
cnt = 0
print(answer)