문제 3911 · 바이트 III
단골 지도 알림 명단
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
한 배달 앱에는 이용자가 관심 있는 가게를 자신의 단골 지도에 등록하는 기능이 있다. 이용자는 여러 가게를 등록할 수 있고, 같은 가게를 여러 이용자가 등록할 수도 있다. 앱은 하루 동안 전달된 등록 및 해제 기록을 모은 뒤, 최종 단골 지도에 서로 다른 가게가 K개 이상 남아 있는 이용자에게 안내 알림을 보내려고 한다. 각 이용자와 가게는 양의 정수 번호로 구분한다. 이용자 번호와 가게 번호는 별개의 번호 체계이므로, 두 번호가 같아도 특별한 의미는 없다. 모든 이용자의 단골 지도는 하루가 시작될 때 비어 있다. 기록은 입력에 주어진 순서대로 하나씩 처리하며, 각 기록에는 연산 기호, 이용자 번호, 가게 번호가 들어 있다. 연산 기호가 +이면 해당 이용자의 지도에 해당 가게를 등록한다. 이미 등록되어 있는 가게라면 아무 변화도 없다. 같은 가게를 여러 번 등록하는 기록이 도착해도 지도에는 그 가게가 하나만 존재한다. 연산 기호가 -이면 해당 이용자의 지도에서 해당 가게를 해제한다. 등록되어 있지 않은 가게를 해제하는 기록은 무시한다. 해제 기록이 먼저 도착하거나 같은 해제 기록이 반복되어도 오류로 처리하지 않는다. 어떤 가게를 해제한 뒤 다시 등록하면 그 가게는 지도에 다시 포함된다. 한 이용자의 기록은 다른 이용자의 지도에 영향을 주지 않는다. 또한 하루 중 잠시 등록했던 가게의 수나 등록 연산이 성공한 횟수는 알림 대상 여부와 관계없다. 오직 모든 기록을 처리한 뒤 지도에 남은 서로 다른 가게의 수만 사용한다. N개의 기록과 기준 K가 주어진다. 최종 상태에서 알림을 받을 이용자의 수와 번호를 구한다. 알림 대상 이용자의 번호는 작은 순서대로 나열한다. 조건을 만족하는 이용자가 한 명도 없으면 대상 수 0만 출력한다. 기록에 한 번도 등장하지 않은 이용자는 지도에 가게가 없으므로 알림 대상이 될 수 없다.
입력
첫째 줄에 기록 수 N과 알림 기준 K가 공백으로 구분되어 주어진다. N은 1 이상 25,000 이하의 정수이고, K는 1 이상 9,999 이하의 정수다. 다음 N개 줄에는 연산 기호 C, 이용자 번호 U, 가게 번호 S가 공백으로 구분되어 주어진다. C는 + 또는 -이며, U와 S는 각각 1 이상 9,999 이하의 정수다. 현재 등록 상태와 관계없이 모든 등록 및 해제 기록이 입력될 수 있다.
출력
첫째 줄에 알림 대상 이용자의 수를 출력한다. 대상이 한 명 이상이면 둘째 줄에 대상 이용자 번호를 오름차순으로 공백으로 구분하여 출력한다. 대상이 없으면 둘째 줄을 출력하지 않는다.
예제 입력 1
8 2 + 12 4 + 12 4 + 12 9 + 7 4 - 12 4 - 7 5 + 7 8 + 12 6
예제 출력 1
2 7 12
예제 입력 2
5 2 + 3 5 - 3 5 - 3 5 + 9 2 + 9 2
예제 출력 2
0
힌트 펼치기
- 이용자와 가게의 쌍이 현재 등록되어 있는지 관리한다.
- 중복 등록과 없는 등록의 해제는 이용자별 등록 가게 수를 바꾸지 않는다.
관련 서재 장
알고리즘 분류
해시집합정렬풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |