문제: https://www.acmicpc.net/problem/1269
1. 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int A = sc.nextInt();
int B = sc.nextInt();
Set <String> setA = new HashSet<>();
while(A-- > 0)
setA.add(sc.next());
Set <String> setB = new HashSet<>();
while(B-- > 0)
setB.add(sc.next());
Set <String> tempA = new HashSet<>();
tempA.addAll(setA);
tempA.removeAll(setB);
setB.removeAll(setA);
System.out.println(tempA.size() + setB.size());
}
}
2. 설명
removeAll 메서드를 사용하여 차집합을 구현하여 크기만 더하여 해결
3. 정리
- addAll() : 합집합
- retainAll() : 교집합
- removeAll() : 차집합
- containsAll() : 부분집합
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 - 11478번: 서로 다른 부분 문자열의 개수 [Java] (0) | 2023.09.17 |
---|---|
백준 알고리즘 - 1764번: 듣보잡 [Java] (0) | 2023.09.16 |
백준 알고리즘 - 7785번: 회사에 있는 사람 [Java] (0) | 2023.09.14 |
백준 알고리즘 - 19532번: 수학은 비대면강의입니다 [Java] (0) | 2023.09.13 |
백준 알고리즘 - 14215번: 세 막대 [Java] (0) | 2023.09.12 |