문제 3603 · 비트 IV
캠핑장 입장 성공 로그
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
여러 캠핑장의 출입 장치를 관리하는 운영팀은 하루 동안 수집한 로그에서 특정 캠핑장의 입장 처리 건수를 확인하려 한다. 담당자는 캠핑장 번호 K와 로그 N개를 전달받았다. 각 로그는 캠핑장 번호, 처리 종류, 처리 결과라는 세 항목으로 이루어져 있으며, 항목 사이는 공백으로 구분된다. 처리 종류는 IN 또는 OUT이다. IN은 입장 요청을 처리했다는 뜻이고, OUT은 퇴장 요청을 처리했다는 뜻이다. 처리 결과는 OK 또는 FAIL이다. OK는 요청이 성공적으로 처리되었다는 뜻이고, FAIL은 요청이 실패했다는 뜻이다. 이 문자열들은 모두 대문자로 기록되며, 입력에는 정해진 문자열 이외의 값이 등장하지 않는다. 이번 보고서에서 세려는 것은 K번 캠핑장에서 성공적으로 처리된 입장 요청의 개수다. 따라서 캠핑장 번호가 K와 같고, 처리 종류가 IN이며, 처리 결과가 OK인 로그만 한 건으로 센다. 다른 캠핑장의 로그는 종류와 결과에 관계없이 제외한다. K번 캠핑장의 로그라도 퇴장 요청이거나 실패한 요청이면 제외한다. 각 줄은 운영 시스템이 따로 기록한 하나의 처리 건이다. 내용이 완전히 같은 로그가 여러 줄 있어도 서로 다른 처리 건으로 보며, 조건을 만족하는 줄마다 각각 한 건씩 센다. 로그에는 방문자 식별 정보가 없으므로 같은 사람이 여러 번 요청했는지 판단하거나 중복을 제거할 필요가 없다. 또한 출입 인원이나 현재 캠핑장에 남은 사람 수를 계산하는 작업도 하지 않는다. 로그가 기록된 순서는 답에 영향을 주지 않는다. 대상 캠핑장의 로그가 없거나 조건을 만족하는 로그가 하나도 없으면 보고서의 건수는 0이다. 운영 담당자를 위해 보고서에 적을 입장 성공 건수를 구한다.
입력
첫째 줄에 로그의 수 N과 대상 캠핑장 번호 K가 공백으로 구분되어 주어진다. 다음 N개 줄에는 캠핑장 번호 C, 처리 종류 A, 처리 결과 R이 공백으로 구분되어 주어진다. N, K, C는 정수이며 1 ≤ N ≤ 1,000, 1 ≤ K ≤ 99, 1 ≤ C ≤ 99다. A는 IN 또는 OUT이고, R은 OK 또는 FAIL이다.
출력
K번 캠핑장의 입장 성공 로그 수를 정수 하나로 출력한다. 조건을 만족하는 로그가 없으면 0을 출력한다.
예제 입력 1
6 12 12 IN OK 12 OUT OK 7 IN OK 12 IN FAIL 12 IN OK 7 OUT FAIL
예제 출력 1
2
예제 입력 2
3 4 4 OUT OK 4 IN FAIL 8 IN OK
예제 출력 2
0
예제 입력 3
3 9 9 IN OK 9 IN OK 9 IN OK
예제 출력 3
3
힌트 펼치기
- 각 로그의 세 항목이 필요한 조건을 모두 만족하는지 확인한다.
알고리즘 분류
로그 파싱집계조건문풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |