🧩 Programming Languages/Python CodingTest

백준 1269번(silver 4) : 대칭 차집합 (두 리스트 간 집합 구하기)

복숭아아이스티에샷추가 2024. 1. 23. 00:00
 

1269번: 대칭 차집합

첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어

www.acmicpc.net


 

앞서 푼 문제와 더불어 리스트의 집합 문제가 나왔다. 일단 차집합을 어떻게 구하는지 몰라서 풀이를 참고하였는데, 이번 기회에 모든 집합을 알아두어야겠다.

 

 

 1. 합집합 

새로운 리스트 명 = list(set(A) | set(B))
#또는
새로운 리스트 명 = list(set().union(A, B))

 

 

 2. 교집합 

새로운 리스트 명 = list(set(A) & set(B))
#또는
새로운 리스트 명 = list(set(A).intersection(B))

 

 

 3. 차집합 

새로운 리스트 명 = list(set(A) - set(B))
#또는
새로운 리스트 명 = list(set(A).difference(B))

 

 

 4. 대칭 차집합 (합집합 - 교집합) 

새로운 리스트 명 = list(set(A) ^ set(B))
#또는
새로운 리스트 명 = list(set(A).symmetric_difference(B))

 


 

 내가 작성한 코드 

import sys
input = sys.stdin.readline

a, b = map(int, input().split())
A = list(map(int, input().split()))
B = list(map(int, input().split()))

print(len(list(set(A) ^ set(B))))