algorithm/Map, Set

[C++] BOJ 14425 문자열 집합

gartenhh 2021. 7. 16. 15:07

문제

백준 14425번 https://www.acmicpc.net/problem/14425

코드

#include<iostream>
#include<map>
#include<string>
using namespace std;

int n, m, cnt=0;
map<string, int> given;

int main() {
	cin >> n >> m;
	string str;

	for(int i=1;i<=n;i++) {
		cin >> str;
		given.insert(make_pair(str, i));
	}
	while (m--) {
		cin >> str;
		if (given.find(str) != given.end()) {
			cnt++;
		}
	}
	cout << cnt;
}

풀이방법

맵에 주어진 n개의 문자열들을 저장한 뒤에, m개의 문자열을 각각 입력받으며 앞서 입력받은 map과 일치하는지 비교해보고, 일치한다면 cnt값을 증가시킨다. 마지막으로 cnt를 출력해준다.

고민과정

맵에서 탐색하는 방법을 몰라서 구글링을 통해 찾아냈다.