[BOJ / Python] 5525 IOIOI (Class 3)

효다몬·2022년 10월 10일
0

코딩테스트

목록 보기
34/41
post-thumbnail

문제 링크

성능 요약

메모리: 32796 KB, 시간: 300 ms

분류

문자열(string)

문제 설명

N+1개의 I와 N개의 O로 이루어져 있으면, IO이 교대로 나오는 문자열을 PN이라고 한다.

  • P1 IOI
  • P2 IOIOI
  • P3 IOIOIOI
  • PN IOIOI...OI (O가 N개)

IO로만 이루어진 문자열 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)
profile
개발로 나를 계발하다.

0개의 댓글