간단한 map 활용 문제로 어렵지 않게 해결하였다.

이 문제는 문자열을 입력받고 해당 문자열이 문자열 집합에 존재하는지 아닌지 확인해주면 되는 간단한 문제이다.
처음에는 vector자료구조와 find()함수를 이용해 값을 찾아나가려 하였지만 for문을 진행하며 find()함수를 실행시켜주기에 시간초과 이슈를 피할 수 없었다.
key를 통하여 value를 찾는 map자료구조를 활용해 쉽게 해결할 수 있었다.
#include<iostream>
#include<string>
#include<map>
using namespace std;
int main(){
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int stringSetLenght;
int answerLenght;
int answer = 0;
cin >> stringSetLenght >> answerLenght;
map<string, int> stringSet;
for(int i = 0; i < stringSetLenght; i++){
string input;
cin >> input;
stringSet.insert({input, i});
}
for(int i = 0; i < answerLenght; i++){
string input;
cin >> input;
if(stringSet.find(input) != stringSet.end())
++answer;
}
cout << answer;
}