알고리즘/백준

1269번 : 대칭 차집합

코딍코딍 2023. 1. 2. 15:09

https://www.acmicpc.net/problem/1269

 

1269번: 대칭 차집합

첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어

www.acmicpc.net

 

 

문제

 

 

소스코드

import java.io.*;
import java.util.HashSet;
import java.util.StringTokenizer;

public class Main {
    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<String> set = new HashSet();
        StringTokenizer st = new StringTokenizer(br.readLine(), " ");
        int aCnt = Integer.parseInt(st.nextToken());
        int bCnt = Integer.parseInt(st.nextToken());

        st = new StringTokenizer(br.readLine(), " ");
        for(int i=0;i<aCnt;i++) {
            set.add(st.nextToken());
        }
        int result = aCnt;
        st = new StringTokenizer(br.readLine(), " ");
        for(int i=0;i<bCnt;i++) {
            if(set.add(st.nextToken()) == true) result+=1;
            else result-=1;
        }

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

 

 

해결방법

대칭 차집합
=> A만 가진거 + B만 가진거

즉, 중복되지 않는 것의 개수만 구하면 해결된다.