Skip to content
CatBus
Go back

[BOJ] 대칭 차집합 - 1269 (S4)

22/10/4

시간 제한메모리 제한
2 초256 MB

문제

자연수를 원소로 갖는 공집합이 아닌 두 집합 A와 B가 있다. 이때, 두 집합의 대칭 차집합의 원소의 개수를 출력하는 프로그램을 작성하시오. 두 집합 A와 B가 있을 때, (A-B)와 (B-A)의 합집합을 A와 B의 대칭 차집합이라고 한다.

예를 들어, A = { 1, 2, 4 } 이고, B = { 2, 3, 4, 5, 6 } 라고 할 때,  A-B = { 1 } 이고, B-A = { 3, 5, 6 } 이므로, 대칭 차집합의 원소의 개수는 1 + 3 = 4개이다.

입력

첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어진다. 각 집합의 원소의 개수는 200,000을 넘지 않으며, 모든 원소의 값은 100,000,000을 넘지 않는다.

출력

첫째 줄에 대칭 차집합의 원소의 개수를 출력한다.

풀이

대칭 차집합의 정의에 따라 그대로 코드로 작성하면 되는 문제다. 대칭 차집합의 각 차집합 (A-B)와 (B-A)는 교집합이 무조건 공집합이므로 각 차집합의 원소 개수를 더하는 것으로 대칭 차집합의 원소 개수를 구할 수 있다.

코드

input()
a = set(map(int, input().split()))
b = set(map(int, input().split()))
print(len(a - b) + len(b - a))

Share this post:

비슷한 글

1269이 글—

본문을 Xenova/multilingual-e5-small 로 임베딩하고, 그 벡터를 PCA 로 32축에 눌러 왼쪽 막대로 그렸습니다. 비슷한 글은 지문도 닮습니다 — 위아래를 견줘 보세요. 계산은 빌드 때 끝나고 벡터는 브라우저로 오지 않습니다.

Previous Post
[BOJ] 덩치 - 7568 (S5)
Next Post
[BOJ] 수 정렬하기 3 - 10989 (B1)