336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.
문제 : https://www.acmicpc.net/problem/1269
원소가 있는지 없는지를 빠르게 체크하기 위해서 map을 사용했다.
c++의 map은 레드블랙트리라는 Binary Search Tree로 구현되어 있기 때문에
원소를 찾는데 있어서 O(lgn)의 시간이 걸린다.
#include <iostream>
#include <map>
using namespace std;
int main(){
ios_base::sync_with_stdio(false);
cin.tie(NULL);
int aSize, bSize;
map<int, int> a, b;
cin >> aSize >> bSize;
for(int i = 0; i < aSize; i++){
int temp;
cin >> temp;
a[temp] = temp;
}
for(int i = 0; i < bSize; i++){
int temp;
cin >> temp;
b[temp] = temp;
}
// a에는 있고 b에는 없는 수 세기
int sum = 0;
for(map<int, int>::iterator it = a.begin(); it != a.end(); it++){
if(!b[it->first])
sum++;
}
// b에는 있고 a에는 없는 수 세기
for(map<int, int>::iterator it = b.begin(); it != b.end(); it++){
if(!a[it->first])
sum++;
}
cout << sum << '\n';
return 0;
}
인터넷을 찾아보니 set으로 푸는게 더 맞는거 같다.... ㅎ.
'PS > 백준 문제풀이' 카테고리의 다른 글
[백준 2503] 숫자 야구 (0) | 2019.08.25 |
---|---|
[백준 1620] 나는야 포켓몬 마스터 이다솜 (0) | 2019.08.21 |
[백준 1068] 트리 (0) | 2019.08.17 |
[백준 5397] 키로거 (0) | 2019.08.09 |
[백준 16507] 어두운 건 무서워 (0) | 2019.08.08 |