같은 문자가 주어지지 않아서 map이나 set이나 아무거나 상관없이 써서 풀어도 되는 문제
c++은 set을 써볼겸 set을 사용해서 풀었다.
const fs = require('fs');
const input = fs.readFileSync('/dev/stdin').toString().trim().split('\n');
const [N, M] = input[0].split(' ').map(Number);
const strs = input.slice(1, 1 + N);
const problems = input.slice(1 + N);
const solution = (N, M, strs, problems) => {
const strMap = {};
strs.forEach((str) => (strMap[str] = true));
let count = 0;
problems.forEach((p) => {
if (strMap[p]) count += 1;
});
return count;
};
console.log(solution(N, M, strs, problems));
#include <bits/stdc++.h>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
int N, M;
cin >> N >> M;
set<string> str_set;
for (int i=0; i<N; i++) {
string str;
cin >> str;
str_set.insert(str);
}
int cnt = 0;
for (int i=0; i<M; i++) {
string str;
cin >> str;
if (str_set.find(str) != str_set.end()) cnt += 1;
}
cout << cnt << '\n';
return 0;
}