문제
문제풀이
Python에서 일반적으로 특정문자의 개수를 세는 함수인 count함수를 쓰면 IOIOIOI같이 IOI가 중첩되어 나타나있는 문자열에서의 IOI의 수를 셀 때 버그가 일어날 수 있다. 따라서 반복문을 이용해 I다음 문자가 O이고 O다음 문자가 I인지를 판별해 IOI의 개수를 세야한다. JOI의 경우 맨 앞과 맨 끝의 문자가 다르므로 count함수를 이용해 JOI의 개수를 세도 된다.
import sys
IOI_count = 0
a = sys.stdin.readline()
a_li = list(a)
for i in range(len(a)):
if a_li[i] == "I":
if a_li[i+1] == "O":
if a_li[i+2] == "I":
IOI_count += 1
print("{}\n{}".format(a.count("JOI"), IOI_count))