https://www.acmicpc.net/problem/1269
1. 아이디어
두 차집합의 크기의 합은 두 집합의 크기 - 2 * 교집합의 크기다.
2. 문제풀이
Set의 retainAll 메서드로 교집합을 구할 수 있다. 두 집합 A, B를 HashSet으로 구현한 후 intersection이라는 교집합을 만들었다. 교집합은 생성자에 A를 넣은 후 retainAll(B)를 해주면 간단하게 구할 수 있다.
3. 코드
import java.io.*;
import java.util.*;
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 N = Integer.parseInt(st.nextToken());
int M = Integer.parseInt(st.nextToken());
Set<Integer> A = new HashSet<>();
st = new StringTokenizer(br.readLine());
for (int i = 0; i < N; i++) {
A.add(Integer.parseInt(st.nextToken()));
}
Set<Integer> B = new HashSet<>();
st = new StringTokenizer(br.readLine());
for (int i = 0; i < M; i++) {
B.add(Integer.parseInt(st.nextToken()));
}
Set<Integer> intersection = new HashSet<>(A);
intersection.retainAll(B);
System.out.println(N + M - 2 * intersection.size());
}
}
4. 후기
'코딩테스트 준비 > 백준' 카테고리의 다른 글
[백준] 1780번 - 종이의 개수 [Java] (0) | 2025.01.09 |
---|---|
[백준] 2630번 - 색종이 만들기 [Java] (0) | 2025.01.09 |
[백준] 1822번 - 차집합 [Java] (0) | 2025.01.09 |
[백준] 5063번 - TGN [Java] (0) | 2025.01.09 |
[백준] 11536번 - 줄 세우기 [Java] (0) | 2025.01.09 |