백준: 1269(대칭 차집합)

강지안·2023년 6월 6일
0

baekjoon

목록 보기
51/186

문제

코드

import java.io.*;
import java.util.Arrays;
import java.util.Collection;
import java.util.HashSet;

public class q1269 {
    public static void main(String[] args) throws IOException {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));

        HashSet<Integer> A = new HashSet<>();
        HashSet<Integer> B = new HashSet<>();
        HashSet<Integer> result = new HashSet<>();
        String[] temp;

        br.readLine();
        temp = br.readLine().split(" ");
        for(int i=0; i<temp.length; i++)
            A.add(Integer.parseInt(temp[i]));
        temp = br.readLine().split(" ");
        for(int i=0; i<temp.length; i++)
            B.add(Integer.parseInt(temp[i]));

        result = (HashSet<Integer>) A.clone();
        result.removeAll(B);
        B.removeAll(A);
        result.addAll(B);

        bw.write(result.size()+"");
        bw.flush();
    }
}

학습

result = A는 얕은 복사(a의 값이 아닌 a의 주소값 복사)이다.
깊은 복사를 하기 위해선 A.clone()으로 복사해주어야 한다.

0개의 댓글