[C++] 백준 1764. 듣보잡

멋진감자·4일 전
1

알고리즘

목록 보기
12/20
post-thumbnail

문제

N명의 듣도 못한 사람과 M명의 보도 못한 사람이 주어지고,
듣지고 보지도 못한 사람의 수와 이름을 사전순으로 출력하는 문제이다.
N과 M은 500,000 이하의 자연수이다.

풀이

이름을 key로 하고 언급된 수를 value로 갖는 map에 담아 풀었다.
그나저나 정말 오랜만에 듣는 단어다.
시간이 정말 빠르구나..

코드

#include <iostream>
#include <map>
#include <string>

using namespace std;

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

int main() {
	cin >> n >> m;
	for (int i = 0; i < n; i++) {
		cin >> tmp;
		name[tmp]++;
	}
	for (int i = 0; i < m; i++) {
		cin >> tmp;
		name[tmp]++;
		if (name[tmp] == 2) cnt++;
	}

	cout << cnt << "\n";
	for (auto it : name) {
		if (it.second == 2) {
			cout << it.first << "\n";
		}
	}

	return 0;
}

채점

profile
난멋져

0개의 댓글