문제 3079 · 비트 IV
충전 종료 로그 정산
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
전기차 충전소의 운영 서버는 충전 작업이 끝날 때마다 종료 로그를 한 줄 남긴다. 백엔드 운영 담당자는 하루 동안 모인 로그를 읽어 정상적으로 끝난 충전 작업의 건수와 공급량 합계를 확인하려고 한다. 로그 한 줄은 충전기 번호, 종료 상태, 공급량의 세 항목으로 이루어진다. 각 항목은 공백으로 구분되며, 충전기 번호와 공급량은 정수다. 종료 상태는 대문자로 된 OK 또는 FAIL 중 하나다. OK는 해당 작업이 정상적으로 끝났다는 뜻이고, FAIL은 오류로 작업이 끝났다는 뜻이다. 정상 종료된 작업은 운영 정산에 포함하므로 OK 로그 한 줄을 읽을 때마다 정상 종료 건수를 1 늘리고, 그 줄의 공급량을 합계에 더한다. FAIL 로그는 정상 종료 건수와 공급량 합계에 모두 포함하지 않는다. 공급량의 단위는 충전소 내부에서 사용하는 정수 단위다. FAIL 로그에도 공급량이 기록될 수 있다. 이는 오류를 조사하기 위한 측정값이므로 값이 양수여도 이번 정산에서는 제외한다. 반대로 OK 로그의 공급량이 0일 수도 있다. 이런 로그는 공급량 합계를 늘리지는 않지만 정상 종료된 작업 한 건으로 센다. 공급량의 크기를 보고 종료 상태를 추측하지 않고, 반드시 상태 항목을 기준으로 처리한다. 같은 충전기에서 하루에 여러 작업이 끝날 수 있으므로 충전기 번호는 여러 줄에 반복해서 나타날 수 있다. 반복된 번호가 나와도 각 줄은 서로 다른 작업을 나타낸다. 입력에는 같은 작업의 로그가 중복으로 들어 있지 않으며, 로그의 나열 순서는 합계에 영향을 주지 않는다. 충전기별 결과를 따로 출력하거나 가장 많이 사용된 충전기를 고를 필요는 없다. 전체 로그에서 정상 종료 건수와 정상 종료 공급량 합계를 구하면 된다. 정상 종료된 작업이 하나도 없다면 두 값은 모두 0이다.
입력
첫째 줄에 로그 수 N이 주어진다. 1 ≤ N ≤ 1,000이다. 다음 N개 줄에 충전기 번호 I, 종료 상태 S, 공급량 E가 공백으로 구분되어 주어진다. 1 ≤ I ≤ 100, S는 OK 또는 FAIL, 0 ≤ E ≤ 10,000이다. N, I, E는 모두 정수다.
출력
정상 종료 건수와 정상 종료된 작업의 공급량 합계를 공백으로 구분하여 한 줄에 출력한다.
예제 입력 1
5 12 OK 35 12 FAIL 18 7 OK 0 9 OK 42 7 FAIL 0
예제 출력 1
3 77
예제 입력 2
3 4 FAIL 100 4 FAIL 0 8 FAIL 23
예제 출력 2
0 0
예제 입력 3
2 1 OK 10000 1 OK 10000
예제 출력 3
2 20000
힌트 펼치기
- 각 로그에서 상태를 확인하고, OK인 줄의 개수와 공급량만 누적한다.
알고리즘 분류
로그 파싱집계풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |