정답 코드
#include <iostream>
#include <algorithm>
#include <unordered_set>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(NULL);
cout.tie(NULL);
int n=1, m=1;
while(1) {
cin>>n>>m;
if(n==0 && m==0) {
break;
}
unordered_set<int> s;
int cnt=0;
for(int i=0; i<n; i++) {
int temp;
cin>>temp;
s.insert(temp);
}
for(int i=0; i<m; i++) {
int temp;
cin>>temp;
if(s.find(temp)!=s.end()) {
cnt++;
}
}
cout<<cnt<<'\n';
}
return 0;
}
map : 정렬이 됨, O(logN)
unordered_map : 정렬이 안됨, 최소 O(1), 최악의 경우 O(N)