[백준 1269번 : 대칭 차집합] java 풀이

Elmo·2022년 8월 1일
0

[백준] 알고리즘

목록 보기
22/39

🔔 집합과 맵 - 대칭 차집합

(A-B)와 (B-A)의 합집합을 구해야한다.

이 때 A집합의 B차집합을 하면 A집합에는 (A-B)가 들어가므로 따로 A집합 복사한 집합을 선언해야한다.

🔑 java 풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.HashSet;
import java.util.Set;
import java.util.StringTokenizer;

public class Main{
	public static void main(String[] args) throws IOException{
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer st = new StringTokenizer(br.readLine()," ");
		int A=Integer.parseInt(st.nextToken());
		int B=Integer.parseInt(st.nextToken());
		Set<Integer> setA = new HashSet<>();
		Set<Integer> setB = new HashSet<>();
		
		st = new StringTokenizer(br.readLine()," ");
		for(int i=0; i<A; i++)
			setA.add(Integer.parseInt(st.nextToken()));
		st = new StringTokenizer(br.readLine()," ");
		for(int i=0; i<B; i++)
			setB.add(Integer.parseInt(st.nextToken()));
		
		Set<Integer> copy = new HashSet<>(setA);//setA복사
		
		setA.removeAll(setB);//A-B
		setB.removeAll(copy);//B-A
		setA.addAll(setB);//(A-B)||(B-A)

		System.out.print(setA.size());//원소 개수 출력
	
		br.close();
	}
}
profile
엘모는 즐거워

0개의 댓글