# 문제
# 입력 및 출력
# 풀이
이 문제 역시 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 |
댓글