문제 4703 · 바이트 I
임시 주차권 등록대
댓글 0| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms | 측정하지 않음 | 0 | 0 | 0 | 0.00% |
문제
주차장 안내실은 임시 주차권의 사용 가능 여부를 등록대에서 관리한다. 각 주차권에는 양의 정수 번호가 하나 적혀 있다. 같은 번호는 항상 같은 주차권을 뜻하며, 등록대에는 한 번호를 최대 한 번만 등록할 수 있다. 업무를 시작할 때 등록대에는 아무 번호도 등록되어 있지 않다. 안내실 직원은 시간순으로 전달된 요청을 하나씩 처리한다. 요청에는 등록과 해제의 두 종류가 있다. 등록 요청은 해당 번호를 등록대에 추가하려는 요청이다. 그 번호가 아직 등록되어 있지 않으면 추가하고 정상 처리한다. 이미 등록되어 있다면 상태를 바꾸지 않고 그 요청을 무시한다. 같은 번호의 등록 요청이 반복되더라도 등록 개수가 여러 개로 늘어나지는 않는다. 해제 요청은 해당 번호를 등록대에서 제거하려는 요청이다. 그 번호가 등록되어 있으면 제거하고 정상 처리한다. 등록되어 있지 않으면 상태를 바꾸지 않고 그 요청을 무시한다. 이전에 등록되었다가 해제된 번호는 다시 등록할 수 있으며, 다시 등록하기 전까지는 등록되지 않은 번호로 취급한다. 번호의 크기나 요청 사이의 시간 간격은 처리 결과에 영향을 주지 않는다. 무시한 요청의 수는 요청마다 센다. 따라서 같은 이유로 무시되는 요청이 연달아 여러 번 들어오면 그 횟수를 모두 더해야 한다. 정상 처리한 요청은 이 수에 포함하지 않는다. 뒤에 들어온 요청 때문에 앞서 무시한 요청을 다시 처리하는 일도 없다. 모든 요청을 입력된 순서대로 처리한 뒤, 등록대에 남아 있는 서로 다른 번호의 개수와 처리 도중 무시한 요청의 총수를 알아내려고 한다. 실제 차량의 입차나 출차 여부는 주어지지 않으며, 판단에는 등록대의 현재 상태만 사용한다. 요청이 하나도 없을 때는 두 결과 모두 0이다. 최종 등록 개수와 무시한 요청 수를 구하는 프로그램을 작성한다.
입력
첫째 줄에 요청 수를 나타내는 정수 N이 주어진다. 0 ≤ N ≤ 100,000이다. 다음 N개 줄에는 정수 T와 X가 공백으로 주어진다. T는 1 또는 2이며, 1은 등록 요청, 2는 해제 요청을 뜻한다. X는 주차권 번호이며 1 ≤ X ≤ 1,000,000,000이다.
출력
모든 요청을 처리한 뒤 등록된 번호의 개수와 무시한 요청의 총수를 공백으로 구분하여 한 줄에 출력한다. 요청이 없으면 0 0을 출력한다.
예제 입력 1
7 1 42 1 42 2 8 1 8 2 42 2 42 1 19
예제 출력 1
2 3
예제 입력 2
0
예제 출력 2
0 0
예제 입력 3
4 1 7 2 7 1 7 2 7
예제 출력 3
0 0
힌트 펼치기
- 현재 등록된 번호만 집합에 저장한다.
- 각 요청을 처리하기 직전에 해당 번호가 집합에 있는지 확인한다.
관련 서재 장
알고리즘 분류
해시집합구현풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
댓글 0
로그인하면 댓글을 쓸 수 있습니다.
댓글 접기·펼치기
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| JavaScript | 브라우저 JavaScript | 1000ms / 테스트 | 측정하지 않음 |
| TypeScript | TypeScript 5.9.3 | 1000ms / 테스트 | 측정하지 않음 |
| Python 3 | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음 |
| C | YoWASP Clang 22 | 2000ms / 테스트 | 측정하지 않음 |
| C++ | YoWASP Clang 22 / libc++ | 2000ms / 테스트 | 측정하지 않음 |
| Java | OpenJDK javac + TeaVM (Java 21 문법) | 3000ms / 테스트 | 측정하지 않음 |
| Lua | Wasmoon 1.16.0 / Lua 5.4 | 3000ms / 테스트 | 측정하지 않음 |
| Ruby | Ruby 3.4 / ruby.wasm 2.10.1 | 5000ms / 테스트 | 측정하지 않음 |
| Scheme | BiwaScheme 0.8.3 | 5000ms / 테스트 | 측정하지 않음 |
| Prolog | SWI-Prolog / swipl-wasm 8.2.5 | 5000ms / 테스트 | 측정하지 않음 |
| Perl | Perl 5.28 / WebPerl 0.09-beta | 5000ms / 테스트 | 측정하지 않음 |