1269번: 대칭 차집합
첫째 줄에 집합 A의 원소의 개수와 집합 B의 원소의 개수가 빈 칸을 사이에 두고 주어진다. 둘째 줄에는 집합 A의 모든 원소가, 셋째 줄에는 집합 B의 모든 원소가 빈 칸을 사이에 두고 각각 주어
www.acmicpc.net
풀이 과정
- n개의 수를 HashSet에 추가
- m개의 수 만큼 입력받고 입력받은 수가 이미 HashSet에 포함되어 있는 숫자라면 그 숫자를 HashSet에서 제거
- 포함되어 있지 않다면 HashSet에 추가
- 위의 과정 완료 후 HashSet의 크기 출력
정답
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
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));
StringTokenizer st = new StringTokenizer(br.readLine());
HashSet<Integer> set = new HashSet<Integer>();
int n = Integer.parseInt(st.nextToken());
int m = Integer.parseInt(st.nextToken());
st = new StringTokenizer(br.readLine());
for(int i=0; i<n; i++)
{
set.add(Integer.parseInt(st.nextToken()));
}
st = new StringTokenizer(br.readLine());
for(int i=0; i<m; i++)
{
int key = Integer.parseInt(st.nextToken());
if(set.contains(key))
{
set.remove(key);
}
else
{
set.add(key);
}
}
bw.write(set.size()+"");
bw.flush();
bw.close();
}
}
'Java > 백준' 카테고리의 다른 글
[JAVA] 백준 18258 큐 2 (0) | 2024.02.14 |
---|---|
[JAVA] 백준 11478 서로 다른 부분 문자열의 개수 (0) | 2024.02.14 |
[JAVA] 백준 13909 창문 닫기 (0) | 2024.02.13 |
[JAVA] 백준 1764 듣보잡 (0) | 2024.02.13 |
[JAVA] 백준 10816 숫자 카드 2 (1) | 2024.02.13 |