Split The GSHS 4

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

요약
G, S, H로 이루어진 문자열의 모든 부분 문자열 가운데 SSHS 개수에서 GSHS 개수를 뺀 값이 최대가 되는 경우를 구한다.
난이도

보통10점 중 6점

유형
동적 계획법, 문자열, 누적 합
정답자
아직 제출이 없습니다

문제

경기도의 명소 경기과학고등학교에는 길이 NN의 역사 깊은 문자열이 있습니다. 이 문자열은 G, S, H로만 이루어져 있어 문자열의 중간에 GSHS가 부분 문자열로 포함되어 있습니다.

하지만, 설곽이는 이 문자열의 중간에 SSHS라는 문자열도 부분 문자열로 포함되어 있음을 깨달았습니다. 그래서 설곽이는 이 역사 깊은 문자열을 쪼개서 부분 문자열을 얻어 서울과학고등학교의 역사 깊은 문자열로 만들려고 합니다. 문자열의 앞과 뒤에서 00개 이상의 글자를 지워 얻을 수 있는 문자열을 부분 문자열이라 합니다.

설곽이는 이 부분 문자열이 서울과학고등학교를 대표해야 하므로, 문자열 내부에서 (SSHS의 개수) −- (GSHS의 개수)를 최대화하려고 합니다. 가능한 개수 차의 최댓값을 구하는 코드를 작성하세요.

입력

첫째 줄에 문자열의 길이 NN이 주어집니다. (1≤N≤500,0001 \le N \le 500\\,000) 둘째 줄에 G, S, H로 구성된 길이 NN의 문자열이 주어집니다.

출력

첫째 줄에 모든 부분 문자열 중 (SSHS의 개수) −- (GSHS의 개수)의 최댓값을 출력합니다.

예제2

  1. 예제 1

    입력
    10
    GSHSSHSSHS
    
    예상 출력
    2
    
  2. 예제 2

    입력
    3
    GHS
    
    예상 출력
    0