https://school.programmers.co.kr/learn/courses/30/lessons/42576
해당 문제는 크게 2가지 해법을 가진다.
1. sort를 통한 단순 비교로 계산할 수 있는 경우
2. 해쉬맵을 이용하여 통과한 선수를 제거하는 경우
sort는 비교적 쉽다.
STL을 익숙하게 사용하기 위해 다음과 같이 코드를 짰다.
#include <string>
#include <vector>
#include <unordered_map>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
unordered_map <string, int> players;
for(auto player : participant)
{
if(players.find(player) == players.end()) players.insert(make_pair(player, 1));
else players[player]++;
}
for(auto player : completion){
players[player]--;
}
for(auto player : participant){
if(players[player] > 0) {
answer = player;
break;
}
}
return answer;
}
'콘솔창 & 윈도우창 > 코딩 테스트' 카테고리의 다른 글
프로그래머스 LV.2 영어 끝말잇기 (1) | 2024.11.11 |
---|---|
프로그래머스 LV.2 소수 찾기 (0) | 2024.11.11 |
프로그래머스 LV.2 피로도 (0) | 2024.11.10 |
프로그래머스 LV.2 점프와 순간이동 (0) | 2024.11.09 |
프로그래머스 LV.1 예산 (0) | 2024.11.09 |