문제
https://www.acmicpc.net/problem/1269
내가 생각했던 풀이과정
1. 집합에 공통 요소가 없기 때문에 리스트 대신 Set 으로 입력받는다.
2. Set의 교집합, 합집합, 차집합, 대칭 차집합 등의 지원해주는 연산자를 통하여 문제를 풀어낸다.
나의 풀이
A, B = map(int, input().split())
A_set = set(map(int, input().split()))
B_set = set(map(int, input().split()))
print(len(A_set ^ B_set))
새로 알게된 점, 확인해야할 점
1. 교집합
set1 = set([1,2,3,4,5,6])
set2 = set([3,4,5,6,8,9])
print(set1 & set2)
print(set1.intersection(set2))
{3, 4, 5, 6}
{3, 4, 5, 6}
2. 합집합
set1 = set([1,2,3,4,5,6])
set2 = set([3,4,5,6,8,9])
print(set1 | set2)
print(set1.union(set2))
{1, 2, 3, 4, 5, 6, 8, 9}
{1, 2, 3, 4, 5, 6, 8, 9}
3. 차집합
set1 = set([1,2,3,4,5,6])
set2 = set([3,4,5,6,8,9])
print(set1 - set2)
print(set1.difference(set2))
{1, 2}
{1, 2}
4. 대칭 차집합
set1 = set([1,2,3,4,5,6])
set2 = set([3,4,5,6,8,9])
print(set1 ^ set2)
{1, 2, 8, 9}
4. 집합 추가와 제거
set1 = set([1,2,3,4,5,6])
set1.update([7,8,9]) # update
print(set1)
set1.remove(9) # remove
print(set1)
-------------------------------------------
{1, 2, 3, 4, 5, 6, 7, 8, 9} {1, 2, 3, 4, 5, 6, 7, 8}
'알고리즘 > 백준 알고리즘' 카테고리의 다른 글
[Baekjoon] 백준 알고리즘: 1181 - 단어정렬 (0) | 2021.11.14 |
---|---|
[Baekjoon] 백준 알고리즘: 11899 - 괄호 끼워넣기 (0) | 2021.06.19 |
[Baekjoon] 백준 알고리즘: 1302 - 베스트셀러 (2) | 2021.06.14 |
[Baekjoon] 백준 알고리즘: 1543 - 문서검색 (0) | 2021.06.07 |
[Baekjoon] 백준 알고리즘: 1676 - 팩토리얼 0의 개수 (0) | 2021.06.06 |
댓글