무지개 구슬

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

요약
R, B, V로 이루어진 문자열에서 세 가지 색각 방식 각각에 대해 인접한 문자가 같은 쌍이 없는 가장 긴 연속 부분 문자열을 구한다.
난이도

보통10점 중 6점

유형
투 포인터, 슬라이딩 윈도우, 문자열, 구현
정답자
아직 제출이 없습니다

문제

재현이는 보석 NN개가 왼쪽에서 오른쪽으로 나열된 구슬을 하나 갖고 있다. 각 보석은 빨강, 파랑, 보라 세 가지 색 중 하나이며, 각각 R, B, V 한 글자로 나타낸다. 중요한 대회의 위원회 중 하나인 재현이는 이 구슬을 참가자 기념품으로 쓰려고 한다.

재현이는 색이 다양한 구슬을 좋아하므로, 인접한 보석의 색이 모두 다르면 그 구슬을 아름답다고 정의한다. 예를 들어 RBVBV는 인접한 보석의 색이 모두 다르므로 아름다운 구슬이다. V는 인접한 보석 쌍이 없으므로 아름다운 구슬이다. 하지만 RBBV는 문자열에서 두 B가 인접하므로 아름다운 구슬이 아니다.

재현이는 색이 다양한 구슬을 좋아할 뿐만 아니라, 다양성이 있는 대회도 좋아한다. 이번에는 색맹인 사람에게도 색이 다양한 구슬을 만들려고 한다. 편의상 이 문제에서는 세 종류의 사람만 생각한다.

  • 색맹이 아닌 사람: 세 색을 모두 구별한다.
  • 빨강 색맹(Protanopia): 빨강과 보라를 구별하지 못한다. 보라 보석을 빨강 보석으로 본다.
  • 파랑 색맹(Tritanopia): 빨강 파랑과 보라를 구별하지 못한다. 보라 보석을 파랑 보석으로 본다.

이때 문자열 RVB는 색맹이 아닌 사람에게는 색이 다양하지만, 빨강과 보라 보석이 인접하므로 빨강 색맹인 사람에게는 색이 다양하지 않고, 보라와 파랑 보석이 인접하므로 파랑 색맹인 사람에게도 색이 다양하지 않다.

재현이는 구슬에서 연속한 일부분을 골라 잘라내어 기념품으로 주려고 한다. 재현이가 잘라낼 부분은 세 종류의 사람 모두에게 색이 다양해야 한다. 구슬 전체가 아름답다면 반드시 잘라낼 필요는 없고 구슬 전체를 그대로 줄 수 있다. 재현이가 줄 수 있는 가장 긴 구슬의 길이는 얼마인가?

입력

첫째 줄에 구슬의 길이를 나타내는 정수 NN이 주어진다.

다음 줄에 길이 NN인 문자열이 주어지며, 모든 문자는 R, B, V 중 하나이다.

출력

세 종류의 사람 모두에게 색이 다양한 연속한 구슬의 최대 길이를 출력한다.

제한

  • 1≤N≤250 0001 \le N \le 250\,000

예제2

  1. 예제 1

    입력
    4
    VRRB
    예상 출력
    2
  2. 예제 2

    입력
    5
    RBBRR
    예상 출력
    2