Menu
Coddy logo textTech

부분집합과 상집합

Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 33번째.

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

먼저, 두 개의 HashSet을 생성하세요:

HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");
HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");

containsAll() 메서드를 사용하세요:

boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: true

마찬가지로, setB는 setA의 상위집합입니다 setA의 모든 원소를 포함하기 때문입니다.

challenge icon

챌린지

쉬움

<strong>checkSubsetSuperset</strong>이라는 이름의 메서드를 생성하세요. 이 메서드는 문자열의 두 HashSet을 입력으로 받습니다:

  • setAsetB

이 메서드는 다음을 수행해야 합니다:

  1. containsAll()을 사용하여 setAsetB의 부분집합인지 확인하고, 다음을 출력하세요:

    setA is a subset of setB: <true/false>
  2. setBsetA의 상위집합인지 확인하세요 (이는 동일한 검사입니다), 그리고 다음을 출력하세요:

    setB is a superset of setA: <true/false>

치트 시트

부분집합은 다른 집합에 모든 요소가 포함된 집합입니다. 상위집합은 다른 집합의 모든 요소를 포함하는 집합입니다.

한 집합이 다른 집합의 부분집합인지 확인하려면 containsAll() 메서드를 사용하세요:

HashSet<String> setA = new HashSet<>();
setA.add("apple");
setA.add("banana");

HashSet<String> setB = new HashSet<>();
setB.add("apple");
setB.add("banana");
setB.add("cherry");

boolean isSubset = setB.containsAll(setA);
System.out.println("setA is a subset of setB: " + isSubset);
// Output: setA is a subset of setB: true

setA가 setB의 부분집합이라면, setB는 setA의 상위집합입니다.

직접 해보기

import java.util.HashSet;
import java.util.Scanner;
import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.lang.reflect.Type;

public class Main {
    public static void checkSubsetSuperset(HashSet<String> setA, HashSet<String> setB) {
        // 여기에 코드를 작성하세요
    }
    
    public static void main(String[] args) {
        Scanner scanner = new Scanner(System.in);
        // setA용 JSON 문자열 읽기 (예: ["apple","banana"])
        String setAString = scanner.nextLine();
        // setB용 JSON 문자열 읽기 (예: ["apple","banana","cherry"])
        String setBString = scanner.nextLine();
        
        Type setType = new TypeToken<HashSet<String>>(){}.getType();
        HashSet<String> setA = new Gson().fromJson(setAString, setType);
        HashSet<String> setB = new Gson().fromJson(setBString, setType);
        
        checkSubsetSuperset(setA, setB);
    }
}
quiz icon실력 점검

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

논리와 흐름의 모든 레슨