차근차근 앞에서부터 탐색하면서 개수를 세어 봅시다.

Python에서 문자열 처리 함수 중 count() 가 있습니다.
문제를 보자마자 이 함수로 바로 처리할 수 있겠다고 생각하신 분들도 많겠지만
저 함수를 사용할 때는 주의할 점이 있습니다.

문제에서 주어진 예제의 일부를 살펴봅시다.

>>> print('IOIOIOI'.count('IOI'))
2

우리가 원하는 답은 3인데, 위처럼 연달아 있거나 그 외 특수한 경우에는
count 함수로는 제대로 개수를 세지 못할 수 있습니다.
이때는 for문을 사용하여 앞에서부터 차례대로 훑어가며 JOI 혹은 IOI가 있는지를 살펴보는 것이 좋습니다.
Python에서 slicing은 내부적으로 매우 빠르게 동작할 뿐만 아니라
원하는 길이만큼의 부분 문자열을 가져올 수 있습니다.

따라서 우리가 보고자 하는 문자열의 길이는 3이기 때문에 앞에서부터 [i:i+3]을 통해
3글자씩 훑어보며 JOI 혹은 IOI와 일치할 때마다 counting하여
최종적으로 답을 출력해주면 됩니다.

문제 : 백준 5586 - JOI와 IOI