[알고리즘] 백준 1269 대칭 차집합

이정욱·2022년 5월 17일
0

백준

목록 보기
4/29
post-thumbnail

1269 대칭 차집합

이분탐색을 통해서도 풀 수 있지만 문제를 보자마자 해시풀이법이 생각나버려서
그냥 unordered_map을 사용해서 풀게 되었다.
um에 seta를 추가하고 setb를 돌면서 해당 인덱스가 이미 um에 있으면 삭제하며 진행한다.
마지막으로 um의 크기를 출력하면 된다.

풀이

#include <bits/stdc++.h>
using namespace std;
int n,m,seta[200001],setb[200001];

unordered_map<int, int> um;

int main(){
    ios_base::sync_with_stdio(0);
    cin.tie(0); cout.tie(0);
    cin>>n>>m;
    for(int i=0;i<n;i++){
        cin>>seta[i];
        um.insert({seta[i],1});
    }
    for(int i=0;i<m;i++){
        cin>>setb[i];
        if(um.find(setb[i]) != um.end()){
            um.erase(setb[i]);
        }else{
            um.insert({setb[i],1});
        }
    }
    cout<<um.size();
}

0개의 댓글