https://school.programmers.co.kr/learn/courses/30/lessons/120903
a원소 하나하나 마다 b에 있는지 체크해서 있으면 answer++하고 s2에서 b를 지워서 다음 탐색 속도를 높인다.
#include <string>
#include <vector>
using namespace std;
int solution(vector<string> s1, vector<string> s2) {
int answer = 0;
for ( const auto& a : s1 )
{
for ( const auto& b : s2 )
{
if ( a == b )
{
answer++;
s2.erase(s2.begin()+b);
break;
}
}
}
return answer;
}
#include <string>
#include <vector>
#include <set>
using namespace std;
int solution(vector<string> s1, vector<string> s2) {
int answer = 0;
set<string> s3(s1.begin(), s1.end());
for(int i = 0; i < s2.size(); i ++)
{
if(s3.find(s2[i])!=s3.end())
{
answer++;
}
}
return answer;
}
균형 이진트리 기반 set컨테이너를 사용해서 s1을 넣어주고 find를 사용하였다.