본문으로 이동
코드패스 by Devin.KR

문제 3418 · 비트 IV

가장 길게 이어진 운동

인증 제출 통계 · 5분마다 갱신 · 정답 비율 = 정답 제출 / 전체 제출
시간 제한메모리 제한제출정답맞힌 사람정답 비율
1000ms / 테스트 (언어별 보정은 아래 표)메모리: 측정하지 않음(브라우저 채점)0000.00%

문제

한 헬스장에서는 회원이 개인 운동 계획을 돌아볼 수 있도록 운동 시간을 일정한 길이의 구간으로 나누어 기록한다. 각 구간에는 운동을 수행했는지, 쉬었는지만 표시한다. 운동한 구간은 대문자 E로, 쉰 구간은 대문자 R로 나타낸다. 구간의 길이는 모두 같으므로, 실제 시각을 몰라도 기록 문자열만으로 운동이 얼마나 오래 이어졌는지 비교할 수 있다. 회원은 이번 기록에서 쉬지 않고 운동한 구간이 가장 길게 이어진 부분을 찾으려 한다. 여기서 이어진다는 것은 문자열에서 서로 바로 이웃한 위치에 운동 기록 E가 놓여 있다는 뜻이다. 중간에 휴식 기록 R이 하나라도 있으면 앞뒤의 운동은 서로 다른 연속 운동으로 취급한다. 휴식 구간을 건너뛰거나 기록의 순서를 바꾸어 연결할 수는 없다. 예를 들어 기록이 EEREEE라면 처음에는 운동 구간 두 개가 이어지고, 한 구간을 쉰 뒤 운동 구간 세 개가 이어진다. 이때 가장 긴 연속 운동 구간의 수는 3이다. 기록의 처음이나 끝에서 이어진 운동도 같은 기준으로 계산한다. 마지막 운동 뒤에 휴식 기록이 없어도 그 운동 구간들은 모두 포함한다. 구해야 하는 값은 운동한 전체 구간 수가 아니라, 한 번도 쉬지 않고 이어진 운동 구간 수의 최댓값이다. 가장 긴 부분이 여러 곳에 있어도 위치나 개수를 출력할 필요는 없으며 길이만 출력한다. 모든 구간에서 쉬었다면 연속 운동 구간이 없으므로 0을 출력한다. 반대로 모든 구간에서 운동했다면 기록의 전체 길이가 답이다.

입력

첫째 줄에 기록의 길이 N이 주어진다. N은 1 이상 1,000 이하의 정수다.
둘째 줄에 길이가 정확히 N인 문자열 S가 주어진다. S는 대문자 E와 대문자 R로만 이루어져 있으며, 공백은 포함하지 않는다.

출력

E가 연속으로 나타나는 부분의 최대 길이를 정수 하나로 출력한다. E가 없으면 0을 출력한다.

예제 입력 1

10
EEREEEREEE

예제 출력 1

3

예제 입력 2

5
RRRRR

예제 출력 2

0

예제 입력 3

4
EEEE

예제 출력 3

4
힌트 펼치기
  • E를 읽으면 현재 길이를 늘리고, R을 읽으면 현재 길이를 0으로 만든다.

관련 서재 장

관련 장

출처: Devin.KR 자체 제작

알고리즘 분류문자열구현

풀이 작성

연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.

Python 기본 시간 제한 = 문제 시간 제한 × 3 + 2초. 문제별 예외는 아래 표에 반영됩니다. 표준 라이브러리만 지원합니다.

Ctrl+Enter: 연습 채점 · Tab: 들여쓰기 · Esc 후 Tab: 다음 요소로 이동. 언어별 초안은 이 브라우저에 저장됩니다. JavaScript 입력: require('fs').readFileSync(0, 'utf8'), readline 또는 input().

로그인하면 인증 제출을 사용할 수 있습니다.

풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.

    연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.

    이 브라우저의 연습 기록

      언어별 제한

      테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.

      언어엔진(버전)시간 제한메모리
      javascript사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름)1000ms / 테스트측정하지 않음(브라우저 채점)
      pythonPyodide 314.0.7 (CPython 3.14 WASM)5000ms / 테스트측정하지 않음(브라우저 채점)