C++/programmers 코딩테스트(level 1) C++

[C/C++] programmers Level 1 완주하지 못한 선수

CE : 하랑 2023. 9. 14. 21:14

 

 

 

 

코드

 

#include <string>
#include <vector>
#include <unordered_map> // 해시 

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    unordered_map<string, int> hashmap; // <key, value>
    
    for(string name : participant)
    {
        hashmap[name]++; // key값으로 name을 주고 값을 더함
    }
    
    for (string name : completion)
    {
        hashmap[name]--; //name key로 접근하여 값을 감소
    }
    
    for (auto pair : hashmap) // auto 타입을 이용 -> 네임스페이스 및 상속 영향 타입이 복잡하고 길어지는 거 방지
    {
        // int(value)값이 0보다 크다면
        if (pair.second > 0)
        {
            //answer에 string(key)값을 넣음
            answer = pair.first;
            break;
        }
    }
    
    return answer;
}