JOIOJI

면접 대비

시간 제한1초메모리 제한512 MB

요약
J, O, I로 이루어진 문자열에서 세 문자의 개수가 모두 같은 가장 긴 연속 부분 문자열의 길이를 구한다.
난이도

보통10점 중 6점

유형
누적 합, 해시맵, 문자열, 배열
정답자
아직 제출이 없습니다

문제

JOIOJI는 JOI의 삼촌이다. JOIOJI는 J, O, I가 각각 두 글자씩 들어간 자기 이름을 마음에 들어 한다.

최근 JOIOJI에게 아이가 태어났다. JOIOJI는 아이에게도 자기처럼 J, O, I로 이루어지고 각 글자가 정확히 같은 수만큼 들어간 이름을 붙이려고 한다.

JOIOJI는 집에 대대로 전해지는 두루마리를 가지고 있다. 두루마리에는 시가 적혀 있다. 시는 J, O, I 세 종류의 글자로만 이루어진 길이 N의 문자열이다. JOIOJI는 시에 들어 있는 연속한 문자열 중 J, O, I가 각각 정확히 같은 수만큼 들어간 것의 가장 긴 것으로 아이의 이름을 붙일 생각이다.

JOIOJI가 가진 두루마리에 적힌 시의 정보가 주어진다. 시에 들어 있는 연속한 문자열 중 J, O, I가 각각 정확히 같은 수만큼 들어간 것의 길이의 최댓값을 구하는 프로그램을 작성하라.

입력

표준 입력에서 다음 데이터를 읽는다.

  • 첫째 줄에는 정수 N이 적혀 있다. N은 JOIOJI가 가진 두루마리에 적힌 시의 길이를 나타낸다.
  • 둘째 줄에는 길이 N의 문자열 S가 적혀 있다. S는 JOIOJI가 가진 두루마리에 적힌 시를 나타낸다. S의 각 글자는 J, O, I 중 하나이다.

출력

표준 출력에 시에 들어 있는 연속한 문자열 중 J, O, I가 각각 정확히 같은 수만큼 들어간 것의 길이의 최댓값을 나타내는 정수를 한 줄로 출력하라. 그러한 문자열이 없으면 0을 출력하라.

제한

  • 1 ≤ N ≤ 200 000.

예제3

  1. 예제 1

    입력
    10
    JOIIJOJOOI
    
    예상 출력
    6
    
  2. 예제 2

    입력
    8
    IOIIJIIO
    
    예상 출력
    0
    
  3. 예제 3

    입력
    20
    JJIOOIJIJOIOJIOJOOIJ
    
    예상 출력
    15