프로그래머스

프로그래머스 - 완주하지 못한 선수 [C/C++]

치킨먹고싶어요 2022. 6. 18. 21:13

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

 

코딩테스트 연습 - 완주하지 못한 선수

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

programmers.co.kr

코드

 

 

#include <string>
#include <vector>
#include <map>
using namespace std;
 
string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    map<string, int> m;
    for (auto& iter: participant) 
        if (m.find(iter) != m.end()) m[iter]++;
        else m[iter] = 1;
    for (auto& iter: completion) m[iter]--;
    for (auto& iter: m) if(iter.second) answer = iter.first;
    return answer;
}
cs

 


풀이

 

 

간단한 map을 이용한 문제였습니다.

 

1. participant를 map에 저장해 줍니다.

 

2. completion를 map에서 빼 줍니다.

 

3. 남은 map의 값을 출력합니다.