코딩테스트/백준-Python

[백준 Python] 1269번 대칭 차집합(실버4)

23학번이수현 2024. 4. 3. 16:32

문제 : 
https://www.acmicpc.net/problem/1269

 

1269번: 대칭 차집합

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

www.acmicpc.net

 

Code:

import sys

# 첫 번째 리스트를 입력으로 받습니다.
l = sys.stdin.readline()

# 첫 번째 리스트의 요소들을 읽어와서 정수로 변환하고, 중복을 제거하여 집합으로 만듭니다.
l1 = set(map(int, sys.stdin.readline().split()))

# 두 번째 리스트의 요소들을 읽어와서 정수로 변환하고, 중복을 제거하여 집합으로 만듭니다.
l2 = set(map(int, sys.stdin.readline().split()))

# 대칭차집합 연산을 수행하여 두 리스트 간에 공통되지 않는 요소들의 개수를 구합니다.
# 대칭차집합 연산은 | 연산자를 사용하여 수행됩니다.
# | 연산자는 왼쪽 집합과 오른쪽 집합의 합집합을 반환합니다.
# 여기서는 두 집합의 차집합을 각각 계산하고, 이를 합집합으로 구함으로써 대칭차집합을 얻습니다.
result = (l1 - l2) | (l2 - l1)

# 대칭차집합의 요소들의 개수를 출력합니다.
print(len(result))