문제 번호 6211 --JJOOII (JJOOII)

6211: JJOOII (JJOOII)

시간 제한: 1 Sec  메모리 제한: 128 MB
제출: 2  해결 문제 수: 1
[제출][채점상황][게시판][:]

문제 설명

JOI(일본정보올림픽)의 본선 준비를 위한 프로그래밍 연습을 하고 있던 당신은, 올해의 JOI 예선 문제에는 숫자를 다루는 문제만 출제되고, 문자열을 다루는 문제는 단 하나도 없었다는 것을 깨달았다. 그래서 당신은 다른 친구들 몰래 문자열에 대한 공부를 해서, 다른 사람들과 점수 차를 벌리고자 하였다. JOI 기출문제 유형들을 보면, J, O, I의 세 종류의 글자로 이루어지는 문자열에 익숙해질 필요가 있다는 생각이 들었다. (중략) 당신은 다음과 같은 문제를 만들었다.

문자열 t가 문자열 s의 부분문자열이라고 하는 것은, 문자열 s 중의 일부분에 문자열 t가 포함되어 있음을 의미한다. 예를 들어 JJOOII라는 문자열은 OJJOOIIOJOI의 부분문자열이다.

또한, JOI 배열의 레벨 k는 J, O, I 글자가 각각 k번 반복되어있는 문자열을 뜻한다. 예를 들어 JJOOII라는 문자열은 레벨 2이다. (역주: 세 글자는 모두 같은 횟수만큼 반복되어야 하므로, JJOOOII 같은 것은 레벨 0으로 취급한다.)

당신은 J, O, I의 세 글자로 이루어진 문자열이 하나 주어졌을 때, 그 문자열의 부분문자열 중에서 JOI 배열 레벨의 최댓값을 구하려고 한다.

입력

J, O, I의 세 글자로 이루어진 문자열 S가 주어진다. 문자열의 길이는 최대 1000000 글자이다.

출력

입력된 문자열 S의 부분문자열의 레벨 중에서 가장 높은 레벨을 하나의 정수로 출력하라.

입력예시

입력 예시1
OJJOOIIOJOI

입력 예시2
IJJIIJJJ

입력 예시3
JOIJOIJOIJOIJOI

입력 예시4
OOJJJJJJOOOOIIIII

출력예시

출력 예시1
2

출력 예시2
0

출력 예시3
1

출력 예시4
4

도움말

출처

[제출][채점상황]