문제접근![](data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)
•
set 자료구조를 사용하여 탐색
놓쳤던 부분![](data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)
•
set의 find가 따로 있음
◦
set은 레드 블랙 트리로 이루어져이 있기 때문에 algorithm 라이브러리의 findg함수의 시간복잡도가 nlogn인 반면, set은 logn임
코드![](data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==)
7772 KB
68 ms
#include <iostream>
#include <unordered_set>
#include <algorithm>
#include <string>
using namespace std;
int main(void)
{
int n, m;
unordered_set<string> s;
string input;
int answer = 0;
ios_base::sync_with_stdio(false);
cin.tie(0);
cout.tie(0);
cin >> n >> m;
for (int i = 0; i < n; i++)
{
cin >> input;
s.insert(input);
}
for (int i = 0; i < m; i++)
{
cin >> input;
if (s.find(input) != s.end())
answer++;
}
cout << answer;
return (0);
}
C++
복사