대칭 차집합
📌 문제

예제 입력
3 5
1 2 4
2 3 4 5 6예제 출력
4📌 풀이
Logic
- 집합 A, B의 원소의 개수 입력
- 집합 A, B의 원소 입력
- 교집합 구하기
- A + B - (교집합 * 2) 출력
# 변수명
A, B : 각 집합의 원소 개수
set_A, set_B : 집합 A, B
common_set : 교집합

Python
import sys
A, B = map(int, sys.stdin.readline().split())
set_A = list(map(int, sys.stdin.readline().split()))
set_B = list(map(int, sys.stdin.readline().split()))
common_set = list(set(set_A) & set(set_B))
print(A + B - (len(common_set) * 2))
✏️ 새로운 내용
set() 이모저모
set() 함수에서는 교집합(&), 합집합(|), 차집합(-) 연산이 가능함
- 이전에 set()을 이용한 문제 풀이를 한 적이 있었음
- 백준 #1822
📚 회고
💡 set() 함수
- '이산수학' 수업을 통해 set() 함수를 단순하게 사용해 본 경험만 있었고, 이를 이용해서 이전에 문제를 해결했었다.
- '&' 연산자를 통해 교집합을 바로 구하는 기능을 제공하고 있었다.
🛠️ set() 함수에서는 len() 함수가 적용되지 않는다
- list형으로 변환한 뒤에 사용해야 한다.
💡 set() 함수는 대칭 차집합에 대한 연산을 기본 제공하고 있었다..!
- '^' 연산자를 이용하면 대칭 차집합을 바로 출력해준다.
print(len(set_A ^ set_B))
'BOJ > Silver' 카테고리의 다른 글
| [BOJ] #6571 피보나치 수의 개수 (0) | 2026.04.12 |
|---|---|
| [BOJ] #1463 1로 만들기 (0) | 2026.04.12 |
| [BOJ] #1312 소수 (0) | 2026.04.12 |
| [BOJ] #1254 펠린드롬 만들기 (0) | 2026.04.12 |
| [BOJ] #1929 소수 구하기 (0) | 2026.04.12 |