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))))
'🧩 Programming Languages > Python CodingTest' 카테고리의 다른 글
백준 1934번(bronze 1) : 최소공배수 (math 라이브러리 활용) (0) | 2024.01.26 |
---|---|
백준 11478번(silver 4) : 서로 다른 부분 문자열의 개수 (인덱싱, set 선언) (0) | 2024.01.23 |
백준 1764번(silver 4) : 듣보잡 문제 (리스트 교집합 & , join) (2) | 2024.01.22 |
백준 10816번(silver 4) : 숫자 카드 2 - 딕셔너리 (0) | 2024.01.22 |
백준 7785번(silver 5) : 회사에 있는 사람(딕셔너리) (0) | 2024.01.22 |