map을 사용하는 문제 였다
이문제의 경우 완주자의 경우 이름이 불린 수가 짝수 이다 그 이유는 참가 할때 한번 완주할 때 한번 불리기 때문이다 사람이 동명이인이 있어도 마찬가지이다

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

string solution(vector<string> participant, vector<string> completion) {
    map<string,int> mp;
    map<string,int>::iterator iter;
    for(int i=0; i<participant.size(); i++){
        mp[participant[i]]++;
    }
    for(int i=0; i<completion.size(); i++){
        mp[completion[i]]++;
    }
    for(iter=mp.begin(); iter!=mp.end(); iter++){
        if((iter->second)%2==1)
            return iter->first;
    }

}

+ Recent posts