Deff_Dev
[프로그래머스] 완주하지 못한 선수 (C++) 본문
문제
풀이
이 문제는 참가자(participant) 중 완주(completion)하지 못한 한 사람을 찾는 문제이다.
unordered_map을 사용하여 완주한 사람의 수를 저장한다.
이후, 참가자들을 탐색하여, unordered_map의 값이 0인 사람을 찾은 뒤 return한다.
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
unordered_map<string, int> completionMap;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
for(int i = 0; i < completion.size(); i++){
completionMap[completion[i]]++;
}
for(int i = 0; i< participant.size(); i++){
if(completionMap[participant[i]] == 0){
answer = participant[i];
break;
}
completionMap[participant[i]]--;
}
return answer;
}
unordered_map을 사용한 이유
unordered_map은 정렬 연산을 하지 않기 때문에 map보다 연산 속도가 빨라서 사용했다.
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 숫자 문자열과 영단어 (C++) (0) | 2024.11.06 |
---|---|
[프로그래머스] 체육복 (C++) (0) | 2024.11.05 |
[프로그래머스] 가장 가까운 같은 글자 (C++) (0) | 2024.11.04 |
[프로그래머스] 충돌위험 찾기 (C++) (2) | 2024.11.02 |
[프로그래머스] 메뉴 리뉴얼 (C++) (1) | 2024.09.10 |