문제 풀이/BOJ 문제 풀이
[BOJ알고리즘, C++]#14425_문자열 집합
Hardii2
2022. 12. 4. 19:59
[BOJ 알고리즘, C++] #14425_문자열 집합, Map
BOJ 알고리즘 문제 풀이, 14425_문자열 집합 문제
Map 컨테이너를 활용하여 집합에 속해있는 문자열을 선별합니다.
문제


풀이
- Map 컨테이너 자료구조를 활용하는 아주 간단한 문제입니다.
- 먼저, map <string , bool>을 선언하고, 집합 S에 해당하는 문자열을 Key - 간단한 Boolean 변수를 Value로 삽입합니다
- 다음으로, 주어진 문자열을 Key로 Map 컨테이너에서 탐색을 진행하는 방향으로 구현했습니다.
- 이때, "operator []" 는 Map에 없는 새로운 "Key"값으로 수행하면 임의의 Value가 삽입되기 때문에, 집합 S의 문자열들은 모두 "true" 변수와 짝지어 놓도록 합니다!
코드
#include <iostream>
#include <map>
#include <string>
using namespace std;
int main()
{
ios_base::sync_with_stdio(false); cin.tie(NULL); cout.tie(NULL);
int N, M;
int cnt = 0;
string str;
map<string, bool> m;
cin >> N >> M;
for(int i=0; i<N; i++)
{
cin >> str;
m.insert(make_pair(str, true));
}
for(int i=0; i<M; i++)
{
cin >> str;
if(m[str] == true)
cnt++;
}
cout << cnt << endl;
}