[BOJ 33811] Split The GSHS 4
View as PDF
Submit solution
Points:
2
Time limit:
1.0s
Memory limit:
2G
Problem types
Allowed languages
Assembly, Awk, C, C++, Java, Pascal, Perl, Python, Sed, Text
경기도의 명소 경기과학고등학교에는 길이 $N$의 역사 깊은 문자열이 있습니다. 이 문자열은 G, S, H로만 이루어져 있어 문자열의 중간에 GSHS가 부분 문자열로 포함되어 있습니다.</p>
하지만, 설곽이는 이 문자열의 중간에 SSHS라는 문자열도 부분 문자열로 포함되어 있음을 깨달았습니다. 그래서 설곽이는 이 역사 깊은 문자열을 쪼개서 부분 문자열을 얻어 서울과학고등학교의 역사 깊은 문자열로 만들려고 합니다. 문자열의 앞과 뒤에서 $0$개 이상의 글자를 지워 얻을 수 있는 문자열을 부분 문자열이라 합니다.
설곽이는 이 부분 문자열이 서울과학고등학교를 대표해야 하므로, 문자열 내부에서 (SSHS의 개수) $-$ (GSHS의 개수)를 최대화하려고 합니다. 가능한 개수 차의 최댓값을 구하는 코드를 작성하세요.

입력 형식
첫째 줄에 문자열의 길이 $N$이 주어집니다. ($1 \le N \le 500\,000$) 둘째 줄에 G, S, H로 구성된 길이 $N$의 문자열이 주어집니다.
출력 형식
첫째 줄에 모든 부분 문자열 중 (SSHS의 개수) $-$ (GSHS의 개수)의 최댓값을 출력합니다.
예제 입력 1
10
GSHSSHSSHS
예제 출력 1
2
예제 입력 2
3
GHS
예제 출력 2
0
Comments