문제 3024 · 비트 IV
헬스장 혼잡 기록
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 헬스장의 운영 시스템은 출입문을 통과한 인원을 로그로 남긴다. 운영 담당자는 이 로그를 읽어 영업 중 가장 많은 사람이 동시에 머물렀던 순간을 확인하려 한다. 로그 처리를 시작하기 직전 헬스장 안에는 아무도 없으며, 모든 출입은 주어진 로그에 빠짐없이 기록되어 있다. 로그 한 줄은 동작을 나타내는 문자열과 인원수를 나타내는 정수로 이루어진다. 동작이 ENTER이면 그 줄에 적힌 인원수만큼 사람이 헬스장에 들어온 것이고, 동작이 LEAVE이면 그만큼 사람이 나간 것이다. 한 줄에 여러 사람이 적혀 있으면 해당 인원이 동시에 들어오거나 나간 것으로 처리한다. 한 줄의 인원을 한 명씩 나누어 처리한 중간 상태는 혼잡도 비교 대상에 포함하지 않는다. 로그는 실제 발생한 순서대로 주어지므로 입력 순서를 바꾸면 안 된다. 첫 번째 로그의 번호는 1이고, 이후 입력되는 순서대로 번호가 1씩 증가한다. 같은 종류의 동작이 여러 줄 연속해서 나올 수도 있다. 퇴장 인원은 해당 로그를 처리하기 직전 안에 있던 인원보다 많지 않으며, 어떤 로그를 처리한 뒤에도 내부 인원이 음수가 되는 일은 없다. 운영 시스템이 비교할 상태는 로그 처리 전의 초기 상태와 각 로그 한 줄의 처리가 끝난 직후의 상태다. 초기 상태의 인원은 0명이고 번호는 0으로 정한다. 이 상태들을 비교해 내부 인원의 최댓값을 구하고, 그 최댓값을 처음 기록한 번호도 함께 구해야 한다. 같은 최대 인원이 여러 번 나타나면 가장 작은 번호를 선택한다. 이후 더 적은 인원이 되었다가 같은 최대 인원으로 돌아와도 처음 기록한 번호를 유지한다. 로그가 한 줄도 없다면 비교할 상태는 초기 상태뿐이므로 최대 인원과 번호는 모두 0이다. 영업이 끝날 때 모든 사람이 퇴장했다는 보장은 없다. 백엔드 운영 작업의 일부로 출입 로그를 순서대로 처리하여, 최대 내부 인원과 그 인원을 처음 기록한 번호를 출력하는 프로그램을 작성한다.
입력
첫째 줄에 로그 수인 정수 N이 주어진다. 다음 N개의 줄에 문자열 동작과 정수 K가 공백으로 구분되어 주어진다. 0 ≤ N ≤ 1,000 동작은 ENTER 또는 LEAVE 중 하나다. 1 ≤ K ≤ 1,000 LEAVE 로그의 K는 그 로그를 처리하기 직전의 내부 인원 이하임이 보장된다. N이 0이면 추가 입력 줄은 없다.
출력
최대 내부 인원과 그 인원을 처음 기록한 번호를 이 순서로 공백 하나로 구분하여 출력한다. 로그가 없으면 0 0을 출력한다.
예제 입력 1
6 ENTER 4 ENTER 3 LEAVE 2 ENTER 2 LEAVE 6 ENTER 5
예제 출력 1
7 2
예제 입력 2
0
예제 출력 2
0 0
예제 입력 3
5 ENTER 2 LEAVE 2 ENTER 5 ENTER 1 LEAVE 3
예제 출력 3
6 4
힌트 펼치기
- 현재 인원을 갱신하면서, 기존 최댓값보다 커진 경우에만 최댓값과 로그 번호를 바꾼다.
알고리즘 분류
로그 파싱구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |