[백준/JAVA] 1269번 대칭 차집합

정은아·2024년 1월 30일
post-thumbnail

내 풀이

import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.*;

public class Main {
    public static void main(String[] args) throws Exception {

        // 두 집합의 대칭차집합의 갯수를 구하는 문제

        // 두 개를 TreeSet으로 받는다.
        // 겹치는 것을 List로 뺀다. 그 후, List의 size()를 출력한다.
        // 각 TreeSet.size() - List.size() 한다.

        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();

        int A = sc.nextInt();
        int B = sc.nextInt();

        Set<Integer> Aset = new TreeSet<>();
        Set<Integer> Bset = new TreeSet<>();
        int answer = 0;

        for (int i = 0; i < A; i++) {
            Aset.add(sc.nextInt());
        }

        for (int i = 0; i < B; i++) {
            Bset.add(sc.nextInt());
        }

        List<Integer> compare = new ArrayList<>();
        int compareSize = 0;

        for (Integer integer : Aset) {
            if (Bset.contains(integer)){
                compare.add(integer);
            }
        }

        compareSize = compare.size();
        answer = (Aset.size()-compareSize) + (Bset.size()-compareSize);

        sb.append(answer);
        System.out.println(sb.toString());
    }
}

느낀점

입력받는 두 집합을 TreeSet으로 받고, 답을 출력하기 위해 ArrayList를 받았다.
그 후 List.size()를 각 두 집합에서 빼줬다!
간단했다

profile
꾸준함의 가치를 믿는 개발자

0개의 댓글