수학 - 대칭 차집합
Coddy Java 여정의 논리와 흐름 섹션에 포함된 레슨 — 59개 중 32번째.
두 집합의 대칭 차집합은 한 집합에만 속하는 요소들을 포함하는 새로운 집합입니다. Java에서는 다음과 같이 계산할 수 있습니다:
- 첫 번째 집합을 두 번째 집합에 대한 차집합 찾기.
- 첫 번째 집합에 대한 두 번째 집합의 차집합을 찾는 것.
- 이 두 가지 차이점을 결합하는 것.
먼저, 두 개의 HashSets를 생성하세요:
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);다음으로, 동일한 값들을 제거하세요:
HashSet<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2); // diff1은 [1]입니다
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1); // diff2은 [4]입니다다음으로, 두 가지 차이점을 제거하세요:
diff1.addAll(diff2); // diff1은 1, 4]챌린지
쉬움두 개의 정수 HashSet을 입력으로 받는 <strong>symmetricDifference</strong>라는 이름의 메서드를 생성하세요. 이 메서드는 대칭 차집합을 계산하고 다음 형식으로 출력합니다:
Symmetric Difference: [elements]치트 시트
두 집합의 대칭 차집합은 한 집합에만 속하는 요소들을 포함합니다.
Java에서 대칭 차집합을 계산하려면:
- 첫 번째 집합에서 두 번째 집합에 대한 차집합을 찾으세요
- 두 번째 집합에서 첫 번째 집합에 대한 차집합을 찾으세요
- 이 두 차집합을 결합하세요
HashSet<Integer> set1 = new HashSet<>();
set1.add(1);
set1.add(2);
set1.add(3);
HashSet<Integer> set2 = new HashSet<>();
set2.add(2);
set2.add(3);
set2.add(4);
// Remove common elements from each set
HashSet<Integer> diff1 = new HashSet<>(set1);
diff1.removeAll(set2); // diff1 is [1]
HashSet<Integer> diff2 = new HashSet<>(set2);
diff2.removeAll(set1); // diff2 is [4]
// Combine the differences
diff1.addAll(diff2); // diff1 is [1, 4]직접 해보기
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 symmetricDifference(HashSet<Integer> set1, HashSet<Integer> set2) {
// 여기에 코드를 작성하세요
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
// 첫 번째 집합을 위한 JSON 문자열 읽기 (예: [1,2,3])
String set1String = scanner.nextLine();
// 두 번째 집합을 위한 JSON 문자열 읽기 (예: [2,3,4])
String set2String = scanner.nextLine();
Type setType = new TypeToken<HashSet<Integer>>(){}.getType();
HashSet<Integer> set1 = new Gson().fromJson(set1String, setType);
HashSet<Integer> set2 = new Gson().fromJson(set2String, setType);
symmetricDifference(set1, set2);
}
}이 레슨에는 짧은 퀴즈가 포함되어 있습니다. 레슨을 시작해 문제를 풀고 진행 상황을 기록하세요.