[고득점Kit][해시] 완주하지 못한 선수 ⭐

Date:     Updated:

카테고리:

태그:

[해시] 완주하지 못한 선수

문제

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 
단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 
완주한 선수들의 이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 return 하도록 solution 함수를 작성해주세요.
📢 제한사항

- 마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
- completion의 길이는 participant의 길이보다 1 작습니다.
- 참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
- 참가자 중에는 동명이인이 있을 수 있습니다.


내 풀이

#include <algorithm>

#include <string>

이하에 풀이내용쓰면됨.

  • ㅎㅎ


다른 풀이

#include <string>
#include <vector>
#include <unordered_map>
 
using namespace std;
 
string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    unordered_map<string, int> strMap;
    for(auto elem : completion){
        if(strMap.end() == strMap.find(elem))
            strMap.insert(make_pair(elem, 1));
        else
            strMap[elem]++;
    }
 
    for(auto elem : participant)
    {
        if(strMap.end() == strMap.find(elem)){
            answer = elem;
            break;
        }
        else{
            strMap[elem]--;
            if(strMap[elem] < 0){
                answer = elem;
                break;
            }
        }
    }
    return answer;
}

#include <unordered_map>

  • 여기다 풀이쓰면됨.


맨 위로 이동하기

Programmers 카테고리 내 다른 글 보러가기

첫 번째 글입니다 가장 최근 글입니다

댓글 남기기