알고리즘 문제풀이/백준

#1269 : 대칭 차집합

모항 2022. 5. 16. 18:08

풀이방법

사용된 것:

HashSet

 

2022.05.16

해시셋을 사용하였다.

집합 A의 원소들을 읽어와 해시셋에 저장한다.

 

집합 B의 원소들에 대하여,

해시셋에 이미 들어있는 수라면 해시셋에서 해당 수를 제거한다.

해시셋에 없는 수라면 해시셋에 새로 추가한다.

 

위의 과정이 끝난 후, 해시셋의 크기를 화면에 출력한다.

 

코드

Java(2022.05.16)

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{
		// TODO Auto-generated method stub
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		
		//A와 B의 크기를 읽어오기
		int a = Integer.parseInt(st.nextToken());
		int b = Integer.parseInt(st.nextToken());
		
		//해시셋 선언
		HashSet<Integer> hs = new HashSet<Integer>();
		
		//집합 A의 원소들을 읽어와 해시셋에 저장
		st = new StringTokenizer(br.readLine());
		for(int i = 0; i<a; i++) hs.add(Integer.parseInt(st.nextToken()));
		//집합 B의 원소들에 대하여 집합 A에 있는지 여부를 확인
		st = new StringTokenizer(br.readLine());
		for(int i = 0; i<b; i++) {
			int temp = Integer.parseInt(st.nextToken());
			if(hs.contains(temp))hs.remove(temp);
			else hs.add(temp);
		}
		//정답 출력
		System.out.print(hs.size());
		
	}

}

'알고리즘 문제풀이 > 백준' 카테고리의 다른 글

#2447 : 별 찍기 - 10  (0) 2022.05.18
#2630 : 색종이 만들기  (0) 2022.05.18
#2851 : 슈퍼 마리오  (0) 2022.05.12
#9742 : 순열  (0) 2022.05.10
#2160 : 그림 비교  (0) 2022.05.10