728x90
https://programmers.co.kr/learn/courses/30/lessons/42576
문제 풀이
map을 선언하고 완주자에 대해서 value 값을 +1 해준다.
참가자에 대해서 value 값을 -1 해준다.
map의 값이 음수면 완주하지 못한 대상이므로 리턴해준다.
느낀 점
이번 기회로 STL 제네릭 컨테이너인 map에 대해서 공부하게 되었다. map을 이해하면 쉬운 문제이다.
코드
#include <string>
#include <vector>
#include <map>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
map<string, int> m;
for (auto c : completion) {
m[c] += 1;
}
for (auto p : participant) {
m[p] -= 1;
if (m[p] < 0) return p;
}
}
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
for (int i = 0; i < completion.size(); i++) {
if (participant[i] != completion[i]) {
return participant[i];
}
}
}
'문제 풀이 > 프로그래머스 (Programmers)' 카테고리의 다른 글
[C++] 프로그래머스 : 키패드 누르기 (0) | 2021.09.13 |
---|---|
[C++] 프로그래머스 : 로또의 최고 순위와 최저 순위 (0) | 2021.07.01 |
[C++] 프로그래머스 : 폰켓몬 (0) | 2021.06.24 |
[C++] 프로그래머스 : 소수 만들기 (LvL 1) (0) | 2021.05.24 |
[Java] 프로그래머스 : 멀쩡한 사각형 (0) | 2021.04.13 |
댓글