매일 BOJ
(매일 BOJ) C++ 14425번 문자열 집합
norepinephrine
2025. 8. 1. 14:27
이번 문제는 14425번 문자열 집합이다.

접근법
- 문자열을 빠르게 검색할 수 있는 자료구조가 필요함 > 중복이 없고, 정렬된 상태를 유지하는 set<string> 사용
- 각 문자열을 탐색할 때는 s.find(str)을 사용하면 O(log N) 시간 내 탐색 가능
작성코드
#include <bits/stdc++.h>
using namespace std;
int main(void){
ios::sync_with_stdio(false); cin.tie(0);
int N,M;
cin >> N >> M;
set<string> s;
for(int i = 0; i < N; i++){
string str;
cin >> str;
s.insert(str);
}
int count = 0;
for(int i = 0; i < M; i++){
string str;
cin >> str;
if (s.find(str) != s.end()){
count += 1;
}
}
cout << count;
}