*해시맵을 사용하자 (해시맵 = unordered_map)
#include <unordered_map>
unordered_map<string, int> count_map; //(string, int) 쌍을 가지는 count_map 이름의 해시맵 선언
참가자 이름을 세서 count_map에 넣고, 완주자의 이름이 있으면 개수 하나씩 빼기.
(string, int)쌍의 pair에서 pair.second인 int값이 0보다 큰 이름을 반환
#include <string>
#include <vector>
#include <iostream>
#include <unordered_map>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
unordered_map<string, int> count_map;
for (string name : participant) {
count_map[name]++;
}
for (string name : completion) {
count_map[name]--;
}
for (auto pair : count_map) {
if (pair.second > 0) {
return pair.first;
}
}
return "";
}
https://school.programmers.co.kr/learn/courses/30/lessons/42576
728x90
반응형
'공부 > C++' 카테고리의 다른 글
[C++] 프로그래머스 의상 (0) | 2025.04.04 |
---|---|
[C++] 프로그래머스 전화번호 목록 (0) | 2025.04.04 |
[C++] 프로그래머스 폰켓몬 (1) | 2025.04.04 |
[C++] 프로그래머스 대소문자 바꿔서 출력하기 (0) | 2025.04.04 |
[C++] 코딩테스트 참고 (0) | 2025.04.04 |