[프로그래머스 Lv1] 완주하지 못한 선수

수민이슈·2023년 5월 17일
0

[C++] 코딩테스트

목록 보기
31/116
post-thumbnail

🖊️ 문제

https://school.programmers.co.kr/learn/courses/30/lessons/42576

🖊️ 풀이

사실..
해시 카테고리에 있어서
set, unordered_set, map, unordered_map이겠구나 했다
근데
중복을 허용해야 하니까
음,,,,,,?
음,,,
뭐지? 고민하다가 나온 것

multiset / unordered_multiset

set/unordered_set과 동일하게 집합이지만
중복을 허용한다.
마찬가지로 multimap/unordered_multimap도 있당.

그냥 자료구조만 생각하면 너무 쉽게 풀린 문제.
카테고리를 안봤다면,,,

🖊️ 코드

#include <string>
#include <vector>
#include <unordered_set>

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    unordered_multiset<string> s;
    
    for(auto& p : participant) {
        s.insert(p);
    }
    
    for (auto& c : completion) {
        auto it = s.find(c);
        if (it != s.end()) {
            s.erase(it);
        }
    }
    
    answer = *s.begin();
    
    return answer;
}

0개의 댓글