부분집합과 상집합
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);
// 출력: setA is a subset of setB: true마찬가지로, setB는 setA의 모든 요소를 포함하므로 setA의 상위 집합입니다.
챌린지
쉬움checkSubsetSuperset라는 이름의 메서드를 만들어 두 개의 문자열 HashSet을 입력으로 받도록 하세요.
- setA와 setB
메서드는 다음을 수행해야 합니다.
containsAll()을 사용하여 setA가 setB의 부분 집합인지 확인하고 다음을 출력합니다.setA is a subset of setB: <true/false>setB가 setA의 상위 집합인지 확인합니다(이는 같은 확인입니다). 그런 다음 다음을 출력합니다.
setB is a superset of setA: <true/false>
직접 해보기
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);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.
논리와 흐름의 모든 레슨
직접 연습해 보세요: 온라인 Java 컴파일러