프로그래머스 완주하지 못한 선수 문제

두 가지 방법이 생각났습니다. 하나는 participant, completion을 각각 sort하고 위에서부터 하나씩 비교하는 것과 map을 이용하는 것이였는데 map을 사용하여 풀었습니다.

이름(key)이 들어오면 1씩 증가시키고, 완주했을 경우 1씩 감소시킨 뒤 0이 아닌 값을 출력하는 간단한 방법입니다.

완주하지 못한 선수.cpp

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

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    map<string, int> m;

    for(auto name : participant)
    {
        m[name]++;
    }

    for(auto name : completion)
    {
        m[name]--;
    }

    for(auto kv : m)
    {
        if(kv.second != 0)
        {
            answer = kv.first;
            break;
        }
    }

    return answer;
}

'알고리즘 & SQL > 프로그래머스' 카테고리의 다른 글

프로그래머스 탑 C++  (0) 2020.01.20
프로그래머스 문자열 압축 C++  (0) 2020.01.20

+ Recent posts