[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;
}
'문제 풀이 > BOJ 문제 풀이' 카테고리의 다른 글
[BOJ알고리즘, C++]#1269_대칭 차집합, Set (0) | 2022.12.04 |
---|---|
[BOJ알고리즘, C++]#11478_서로 다른 부분 문자열, Set (0) | 2022.12.04 |
[BOJ알고리즘, C++]#14889_스타트와 링크, DFS, 깊이 우선 탐색 (0) | 2022.10.24 |
[BOJ알고리즘, C++]#9663_N-Queen 문제, 백 트래킹 (0) | 2022.10.24 |
[BOJ알고리즘, C++]#15649_N과 M(1), 깊이 우선 탐색 (0) | 2022.10.23 |