본문 바로가기
Algorithm/📖Baekjoon

#1269 대칭 차집합

by yewoneeee 2022. 5. 20.

# 문제

# 입력 및 출력

# 풀이

이 문제 역시 map을 사용해서 간단하게 해결했음

#include <iostream>
#include <map>
using namespace std;
map<int, pair<int, int>> m;

int main() {
	ios::sync_with_stdio(false);
	cin.tie(0); cout.tie(0);
	int a, b, t;
	cin >> a >> b;
	while (a--) {
		cin >> t;
		m[t].first = 1;
	}
	while (b--) {
		cin >> t;
		m[t].second = 1;
		if (m[t].first) m.erase(t);
	}
	cout << m.size() << "\n";
}

우선 map의 value값은 int 쌍으로 두어 A집합에 존재하는지, B집합에 존재하는지를 표시할 수 있도록 했음

A집합에 존재한다면 map에 key, value값 넣어주고 B집합에 존재하는 key값도 마찬가지로 처리해줌

대신 A집합에도 존재하고 B집합에도 존재하는 값은 지워버림

남은 값이 바로 대칭 차집합 원소 개수임

 

'Algorithm > 📖Baekjoon' 카테고리의 다른 글

#11729 하노이 탑 이동 순서  (0) 2022.05.21
# 11478 서로 다른 부분 문자열의 개수  (0) 2022.05.21
#1764 듣보잡  (0) 2022.05.19
#10816 숫자 카드 2  (0) 2022.05.18
#1620 나는야 포켓몬 마스터 이다솜  (0) 2022.05.17

댓글