문제 4589 · 바이트 II
지하철 개찰 로그 점검
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
지하철 개찰 시스템을 운영하는 백엔드 담당자는 하루 동안 수집한 처리 로그에서 점검할 역을 고르려고 한다. 각 로그에는 처리 시각, 역 번호, 처리 결과가 기록되어 있다. 처리 결과 OK는 정상 통과를 뜻하고, FAIL은 개찰 요청을 처리하지 못했음을 뜻한다. 같은 승객의 요청인지 구별할 정보는 없으므로, 내용이 완전히 같은 로그가 여러 줄 있어도 각 줄을 별개의 처리 기록으로 센다. 로그 한 줄은 HH:MM|S|R 형식이다. HH와 MM은 각각 두 자리의 시와 분이며, S는 역 번호, R은 OK 또는 FAIL이다. 세 필드는 세로줄 문자로 구분되고 줄 안에는 공백이 없다. 로그는 여러 수집 장치에서 합쳐졌으므로 시각순이나 역 번호순으로 정렬되어 있지 않을 수 있다. 모든 기록은 같은 날에 발생했으며, 초 단위 정보는 사용하지 않는다. 담당자는 입력으로 주어진 시작 시각부터 종료 시각까지의 기록만 조사한다. 시작 시각과 종료 시각에 발생한 기록도 포함한다. 조사 구간은 자정을 넘지 않으며 시작 시각은 종료 시각보다 늦지 않다. 구간 밖의 기록은 어떤 집계에도 포함하지 않는다. 조사 구간 안에서 FAIL 기록이 한 번 이상 나온 역만 점검 후보가 된다. 점검 후보 중 FAIL 기록 수가 가장 많은 역을 선택한다. FAIL 기록 수가 같으면 역 번호가 더 작은 역을 선택한다. 정상 통과 기록 수나 실패 비율은 선택 기준에 사용하지 않는다. 선택한 역에 대해서는 조사 구간 안의 FAIL 기록 수와 전체 기록 수도 함께 보고해야 한다. 여기서 전체 기록 수는 OK와 FAIL을 모두 합한 값이다. 후보가 하나도 없다면 점검할 역이 없음을 나타내는 정해진 결과를 출력한다.
입력
첫째 줄에 정수 N과 시작 시각 L, 종료 시각 U가 공백으로 구분되어 주어진다. 1 ≤ N ≤ 25,000이다. L과 U는 HH:MM 형식이며 00:00 ≤ L ≤ U ≤ 23:59이다. 다음 N개 줄에 HH:MM|S|R 형식의 로그가 하나씩 주어진다. 시는 00부터 23, 분은 00부터 59이며 항상 두 자리이다. S는 1 이상 99 이하의 정수이고 앞에 불필요한 0이 붙지 않는다. R은 OK 또는 FAIL이다. 모든 로그는 형식에 맞게 주어진다.
출력
점검할 역이 있으면 역 번호, 조사 구간 안의 FAIL 기록 수, 조사 구간 안의 전체 기록 수를 이 순서대로 공백으로 구분하여 한 줄에 출력한다. 점검 후보가 없으면 -1 0 0을 출력한다.
예제 입력 1
7 08:00 09:00 08:10|4|FAIL 07:59|4|FAIL 08:20|2|FAIL 09:00|4|OK 08:30|2|OK 08:50|4|FAIL 09:01|2|FAIL
예제 출력 1
4 2 3
예제 입력 2
5 12:00 12:30 12:00|9|FAIL 12:15|3|FAIL 12:20|9|OK 12:30|3|OK 12:31|3|FAIL
예제 출력 2
3 1 2
예제 입력 3
3 06:00 06:10 05:59|1|FAIL 06:05|2|OK 06:11|2|FAIL
예제 출력 3
-1 0 0
힌트 펼치기
- 시각을 자정부터 지난 분으로 바꾸면 조사 구간에 속하는지 쉽게 판별할 수 있다.
- 역별 전체 기록 수와 FAIL 기록 수를 따로 센다.
알고리즘 분류
로그 파싱집계문자열풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |