출처 : https://www.acmicpc.net/problem/1764

 

1764번: 듣보잡

첫째 줄에 듣도 못한 사람의 수 N, 보도 못한 사람의 수 M이 주어진다. 이어서 둘째 줄부터 N개의 줄에 걸쳐 듣도 못한 사람의 이름과, N+2째 줄부터 보도 못한 사람의 이름이 순서대로 주어진다.

www.acmicpc.net

 

map과 algorithm라이브러리에 sort함수를 사용해 정렬하고 중복체크를 했다.

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

int main(void) {
	int n, m;
	map<string, int> mhearsay;
	vector<string> vResult;
	string stemp;
	cin >> n;
	cin >> m;
	for (int i = 0; i < n+m; i++) {
		cin >> stemp;
		mhearsay[stemp]++;
		if (mhearsay[stemp] > 1) {
			vResult.push_back(stemp);
		}
	}
	
	sort(vResult.begin(), vResult.end());

	cout << vResult.size() << endl;
	for (int i = 0; i < vResult.size(); i++) {
		cout << vResult[i] << endl;
	}
    
    return 0;
}

+ Recent posts