Learn to share,Share to learn
1269 집합의 사용 본문
N,M = map(int,input().split())
A,B,C = set()
A=map(int,input().split())
B=map(int,input().split())
C.add(A-B)
C.add(B-A)
print(len(C))
브레인 스토밍
이렇게 할경우 A,B,C 집합이 한번에 싹 생기는게 아니였다. 하나하나 설정해줘야함..
또, A나 B나 저러면 집합이 아니라 맵 객체를 반환하는거라 집합으로 변환을 또 해줘야 한다.
즉 그냥 A = set(map(int,input().split()))로 하면 되는거였는데
그리고 A-B는 집합을 리턴하는거라 저렇게가 아니라 update를 써야 하더라
그런데 더 좋은 방법을 찾았다.
N, M = map(int, input().split())
A = set(map(int, input().split()))
B = set(map(int, input().split()))
symmetric_difference = A ^ B # 대칭 차집합 계산
print(len(symmetric_difference))
좀 더 직관적이게는
N, M = map(int, input().split())
A = set(map(int, input().split()))
B = set(map(int, input().split()))
# 차집합을 구한 후 합집합으로 결합
symmetric_difference = (A - B) | (B - A)
print(len(symmetric_difference))
'알고리즘' 카테고리의 다른 글
람다, 그리고 sorted와 split (1) | 2024.01.24 |
---|---|
파이썬의 대규모 입출력 sys (0) | 2024.01.19 |
1764 집합 응용, get, isdigit 사용법 (0) | 2024.01.18 |
특정값 존재여부 비교 - list와 set를 중심으로 (0) | 2024.01.17 |
14052 파이썬 (0) | 2024.01.16 |