수학적 연산 파트 2
Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 34번째.
여러 집합의 교집합 및 여러 집합 간의 차집합과 같은 더 고급 개념에 초점을 맞추어, 집합을 사용한 수학적 연산을 계속해서 탐구해 보겠습니다.
여러 집합의 교집합(& 또는 intersection()): & 연산자나 intersection() 메서드를 반복적으로 사용하거나, intersection() 메서드에 여러 집합을 전달함으로써 여러 집합 사이의 공통 요소를 찾을 수 있습니다.
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}
intersection_result = set1 & set2 & set3
# 또는
intersection_result = set1.intersection(set2, set3)
print(intersection_result)
# 출력: {3}여러 집합 간의 차집합 (- 또는 difference()): - 연산자 또는 difference() 메서드를 사용하여 여러 다른 집합과 비교하여 첫 번째 집합에만 있는 고유한 요소를 찾을 수 있습니다. 이는 첫 번째 집합에서 여러 집합을 뺌으로써 수행됩니다.
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6}
set3 = {5, 6, 7}
difference_result = set1 - set2 - set3
# 또는
difference_result = set1.difference(set2, set3)
print(difference_result)
# 출력: {1, 2, 3}이 예제들에서는 먼저 세 집합의 교집합을 구하여, 세 집합 모두에 공통으로 포함된 요소만을 가진 집합을 생성합니다. 그 다음, 여러 집합 간의 차집합을 구하여 set2와 set3의 요소를 제외하고 set1에만 존재하는 고유한 요소들로 구성된 집합을 생성합니다.
챌린지
쉬움당신이 회원들의 관심사에 따라 여러 그룹으로 나뉘어 있는 독점 클럽을 관리하고 있다고 상상해 보세요. 당신은 다음을 알고 싶어 합니다:
- 모든 그룹에서 공통된 관심사를 공유하는 회원은 누구입니까?
- 다른 어떤 그룹에도 속하지 않고 오직 첫 번째 그룹에만 속해 있는 진정으로 독특한 회원은 누구입니까?
다음과 같은 프로그램을 작성하세요:
- 세 개의 관심 그룹 회원을 나타내는 세 개의 세트
group1,group2,group3를 입력받습니다. - 세 그룹 모두의 교집합(intersection)(모든 그룹에 공통으로 속한 회원)을 찾아 출력합니다.
- 다른 두 그룹에 대한
group1의 차집합(difference)(첫 번째 그룹에만 속한 회원)을 찾아 출력합니다.
최종 출력 형식은 테스트 케이스를 확인하세요!
치트 시트
교집합(intersection)을 사용하여 여러 집합 간의 공통 요소를 찾습니다:
set1 = {1, 2, 3}
set2 = {2, 3, 4}
set3 = {3, 4, 5}
# & 연산자 사용
intersection_result = set1 & set2 & set3
# intersection() 메서드 사용
intersection_result = set1.intersection(set2, set3)
차집합(difference)을 사용하여 다른 여러 집합과 비교했을 때 첫 번째 집합에만 있는 고유한 요소를 찾습니다:
set1 = {1, 2, 3, 4, 5}
set2 = {4, 5, 6}
set3 = {5, 6, 7}
# - 연산자 사용
difference_result = set1 - set2 - set3
# difference() 메서드 사용
difference_result = set1.difference(set2, set3)
직접 해보기
group1 = eval(input())
group2 = eval(input())
group3 = eval(input())
# 아래에 코드를 작성하세요
# 결과 출력
print("Members in all groups:", sorted(list(intersection_result)))
print("Unique members in group1:", sorted(list(difference_result)))이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.