문제 4480 · 바이트 IV
겹쳐 도착한 관측소 목록
| 시간 제한 | 메모리 제한 | 제출 | 정답 | 맞힌 사람 | 정답 비율 |
|---|---|---|---|---|---|
| 1000ms / 테스트 (언어별 보정은 아래 표) | 메모리: 측정하지 않음(브라우저 채점) | 0 | 0 | 0 | 0.00% |
문제
날씨 관측소의 중앙 수집기는 오전 전송 묶음과 오후 전송 묶음을 받는다. 각 묶음에는 자료를 보낸 관측소의 식별 번호가 도착 순서대로 적혀 있다. 통신 장치가 같은 자료를 다시 보내기도 하므로 하나의 묶음에 같은 관측소 번호가 여러 번 나타날 수 있다. 번호가 같으면 언제 도착했는지와 관계없이 같은 관측소를 뜻한다. 관리자는 두 묶음 중 정확히 한 묶음에서만 확인된 관측소를 점검 대상으로 정한다. 어떤 관측소가 오전 묶음에 한 번 이상 나타나고 오후 묶음에는 한 번도 나타나지 않았다면 점검 대상이다. 반대로 오후 묶음에 한 번 이상 나타나고 오전 묶음에는 한 번도 나타나지 않았어도 점검 대상이다. 두 묶음에 모두 나타난 관측소는 각각의 등장 횟수가 달라도 점검 대상이 아니다. 한 묶음에 같은 번호가 반복되어도 점검 대상 목록에는 그 번호를 한 번만 넣는다. 예를 들어 오전 묶음에 17번이 세 번 있고 오후 묶음에 17번이 한 번 있으면 17번은 대상에서 제외한다. 오전 묶음에만 23번이 여러 번 있다면 결과에는 23번을 한 번 넣는다. 어느 묶음에도 나타나지 않은 번호는 고려하지 않는다. 두 묶음 중 하나가 비어 있을 수도 있다. 이 경우에는 비어 있지 않은 묶음에 나타난 서로 다른 관측소가 모두 점검 대상이 된다. 두 묶음이 모두 비어 있다면 대상은 없다. 입력에 등장하는 번호의 순서는 결과의 순서에 영향을 주지 않는다. 점검 프로그램은 대상 번호가 작은 관측소부터 작업하므로, 점검 대상의 수와 그 번호들을 오름차순으로 출력해야 한다. 같은 번호를 중복 출력해서는 안 된다. 두 묶음의 기록을 바탕으로 이 점검 목록을 작성한다.
입력
첫 줄에 오전 묶음의 기록 수 N과 오후 묶음의 기록 수 M이 주어진다. 0≤N, M이며 N+M≤100,000이다. 둘째 줄에 오전 묶음의 관측소 번호 N개가 공백으로 주어진다. 셋째 줄에 오후 묶음의 관측소 번호 M개가 공백으로 주어진다. 기록 수가 0인 묶음의 줄은 빈 줄이다. 관측소 번호는 1 이상 999 이하의 정수다. N과 M도 정수다.
출력
첫 줄에 점검 대상의 수를 출력한다. 둘째 줄에 점검 대상 번호를 오름차순으로 공백으로 구분하여 출력한다. 대상이 없으면 첫 줄에 0을 출력하고 둘째 줄은 빈 줄로 둔다.
예제 입력 1
6 5 17 23 17 8 8 40 23 9 9 40 51
예제 출력 1
4 8 9 17 51
예제 입력 2
3 2 6 6 2 2 6
예제 출력 2
0
예제 입력 3
0 3 12 4 12
예제 출력 3
2 4 12
힌트 펼치기
- 각 묶음을 집합으로 바꾸면 반복 전송을 한꺼번에 처리할 수 있다.
관련 서재 장
알고리즘 분류
집합해시풀이 작성
연습 채점은 공개 테스트로 실행합니다. 인증 제출은 코드를 봉인한 뒤 새 입력을 실행하고 서버에서 출력을 대조하며 코드와 판정을 저장합니다.
풀이를 제출하면 여기에서 결과를 확인할 수 있습니다.
연습 기록은 이 브라우저에 최근 50개를 저장합니다. 인증 기록은 내 제출에서 확인하세요.
이 브라우저의 연습 기록
언어별 제한
테스트 케이스마다 새 전역에서 실행하며 준비 시간은 제외합니다. 시간 초과된 출력은 검사하지 않습니다. 브라우저·기기 성능에 따라 실행 시간이 달라집니다.
| 언어 | 엔진(버전) | 시간 제한 | 메모리 |
|---|---|---|---|
| javascript | 사용자 브라우저 JavaScript 엔진 (버전은 브라우저에 따라 다름) | 1000ms / 테스트 | 측정하지 않음(브라우저 채점) |
| python | Pyodide 314.0.7 (CPython 3.14 WASM) | 5000ms / 테스트 | 측정하지 않음(브라우저 채점) |