[백준] 1269. 대칭 차집합

최대 1 분 소요

문제 링크

[백준] 1269. 대칭 차집합


풀이 과정

HashSet을 사용했습니다.


st = new StringTokenizer(br.readLine());
for (int i = 0; i < a; i++) set.add(st.nextToken());

st = new StringTokenizer(br.readLine());
for (int i = 0; i < b; i++) if (set.contains(st.nextToken())) dupCnt++;

System.out.println(a + b - 2 * dupCnt);

먼저 입력으로 주어진 집합 A의 요소를 set 에 모두 담은 뒤, 집합 B의 각 요소가 set에 존재하면 그 개수를 dupCnt에 세어, 집합 A의 요소 갯수와 집합 B의 요소 갯수를 더한 뒤, 겹치는 개수의 두 배 만큼을 빼줬습니다.


코드

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
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));
        StringTokenizer st = new StringTokenizer(br.readLine());
        int a = Integer.parseInt(st.nextToken());
        int b = Integer.parseInt(st.nextToken());
        HashSet<String> set = new HashSet<>();
        int dupCnt = 0;

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < a; i++) set.add(st.nextToken());

        st = new StringTokenizer(br.readLine());
        for (int i = 0; i < b; i++) if (set.contains(st.nextToken())) dupCnt++;

        System.out.println(a + b - 2 * dupCnt);
    }
}

카테고리:

업데이트:

댓글남기기