06
29

참가자 이름 다 받아오면서 맵에서 int카운팅하고
(동명이인 있을수 있다 했으니까.. 여러명이면 그 이름수만큼 카운팅)
완주자면 맵에서 1씩 마이너스해줌.
완주하지 못한 사람이 한명이니까 그 사람의 it.second는 1이 되겠지
0이 아닌 사람을 찾거나 1인 사람을 찾거나.

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

map<string, int> mp;

int main(void) {
	ios_base::sync_with_stdio(false); cin.tie(NULL);
	int n;
	string s;
	cin >> n;
	for (int i = 0; i < n; i++) {
		//참가자의 이름
		cin >> s;
		mp[s]++; //참가했으면 숫자늘리기(동명이인있음)
	}
	for (int i = 0; i < n - 1; i++) {
		// 완주자의 이름
		cin >> s;
		mp[s]--;
	}
	
	for (auto it : mp) {
		if (it.second != 0) {
			cout << it.first << "\n";
			break;
		}
	}
	

	return 0;
}

 

 

COMMENT