부분집합과 상집합
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의 모든 원소를 포함하기 때문입니다.
챌린지
쉬움<strong>checkSubsetSuperset</strong>이라는 이름의 메서드를 생성하세요. 이 메서드는 문자열의 두 HashSet을 입력으로 받습니다:
- setA와 setB
이 메서드는 다음을 수행해야 합니다:
containsAll()을 사용하여 setA가 setB의 부분집합인지 확인하고, 다음을 출력하세요:setA is a subset of setB: <true/false>setB가 setA의 상위집합인지 확인하세요 (이는 동일한 검사입니다), 그리고 다음을 출력하세요:
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: truesetA가 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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.