Menu
Coddy logo textTech

부분집합과 상위집합

Coddy Python 여정의 Logic & Flow 섹션에 포함된 레슨 — 78개 중 36번째.

집합론에서 부분집합은 모든 원소가 다른 집합에 포함되는 집합입니다. 반대로, 상위집합은 다른 집합의 모든 원소를 포함하는 집합입니다.

부분 집합 확인 (<= 또는 issubset()):

set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1 <= set2
print(is_subset)
# 출력: True

이 예제에서 set1의 모든 요소가 set2에도 포함되어 있으므로 set1set2의 부분 집합입니다.

진부분집합 확인 (<):

set1 = {1, 2}
set2 = {1, 2, 3}
is_proper_subset = set1 < set2
print(is_proper_subset)
# 출력: True

여기서 set1set2의 진부분집합입니다. 왜냐하면 set1set2의 부분집합이며, set2set1에 없는 원소를 적어도 하나 포함하고 있기 때문입니다.

상위 집합 확인 (>= 또는 issuperset()):

set1 = {1, 2, 3}
set2 = {1, 2}
is_superset = set1 >= set2
print(is_superset)
# 출력: True

이 경우, set1set2의 모든 요소를 포함하고 있으므로 set1set2의 상위 집합(superset)입니다.

진상위집합(proper superset)인지 확인하기 (>):

set1 = {1, 2, 3}
set2 = {1, 2}
is_proper_superset = set1 > set2
print(is_proper_superset)
# 출력: True

여기서 set1set2의 진상위집합(proper superset)입니다. 왜냐하면 set1set2의 상위집합(superset)이며, set1set2에 없는 요소를 적어도 하나 포함하고 있기 때문입니다.

challenge icon

챌린지

쉬움

두 개의 세트 set1set2를 인자로 받는 check_sets라는 이름의 함수를 작성하세요. 이 함수는 다음 연산을 수행해야 합니다:

  1. set1set2의 부분 집합(subset)인지 확인합니다.
  2. set2set1의 상위 집합(superset)인지 확인합니다.
  3. set1set2의 진부분 집합(proper subset)인지 확인합니다.
  4. set2set1의 진상위 집합(proper superset)인지 확인합니다.
  5. 이러한 연산의 결과를 담은 딕셔너리를 반환하세요. 이때 키는 "is_subset", "is_superset", "is_proper_subset", 그리고 "is_proper_superset"이어야 합니다.

치트 시트

부분 집합(subset)은 모든 원소가 다른 집합에 포함되어 있는 집합입니다. 상위 집합(superset)은 다른 집합의 모든 원소를 포함하는 집합입니다.

<= 또는 issubset()을 사용하여 부분 집합인지 확인합니다:

set1 = {1, 2}
set2 = {1, 2, 3}
is_subset = set1 <= set2  # True

<를 사용하여 진부분 집합(proper subset)인지 확인합니다:

set1 = {1, 2}
set2 = {1, 2, 3}
is_proper_subset = set1 < set2  # True

>= 또는 issuperset()을 사용하여 상위 집합인지 확인합니다:

set1 = {1, 2, 3}
set2 = {1, 2}
is_superset = set1 >= set2  # True

>를 사용하여 진상위 집합(proper superset)인지 확인합니다:

set1 = {1, 2, 3}
set2 = {1, 2}
is_proper_superset = set1 > set2  # True

직접 해보기

def check_sets(set1, set2):
    # set1이 set2의 부분 집합인지 확인
    is_subset = 

    # set2가 set1의 상위 집합인지 확인
    is_superset = 

    # set1이 set2의 진부분 집합인지 확인
    is_proper_subset = 

    # set2가 set1의 진상위 집합인지 확인
    is_proper_superset = 

    # 결과를 포함하는 딕셔너리 반환
    return {
        "is_subset": is_subset,
        "is_superset": is_superset,
        "is_proper_subset": is_proper_subset,
        "is_proper_superset": is_proper_superset
    }
quiz icon실력 점검

이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.

Logic & Flow의 모든 레슨