Programmers『完走していない選手』
2935 ワード
Programmers『完走していない選手』 Level 1
質問する
多くのマラソン選手がマラソンに参加した.1人の選手を除いて、すべての選手がマラソンを完走した.
マラソンに出場する選手の名前と完走した選手の名前の並びが完成したら、完走していない選手の名前を返す解決関数を書いてください.
せいげんじょうけん
I/O例
participantcompletionreturn["leo", "kiki", "eden"]["eden", "kiki"]"leo"
合成コード
#include <string>
#include <vector>
#include <map>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
map<int, string> M1; // 비교를 위한 HashMap
int k = -1; // 완주를 하지 못한 선수가 마지막 주자일 경우 대비
string answer;
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end()); // 두 객체 정렬 (비교를 쉽게 하기 위하여)
for(int i=0; i<participant.size(); i++)
M1.insert({i, participant[i]}); // HashMap에 요소 삽입
for(int i=0; i<completion.size(); i++) {
if(M1.find(i)->second != completion[i]) {
k = i;
break; // 비교 후 서로 다른 선수일 경우 해당 선수 완주 X
}
}
if(k == -1) {
answer = participant[participant.size()-1]; // 마지막 주자가 완주하지 못했을 경우
} else {
answer = participant[k];
}
return answer;
}
📌
順序が同じであるため、漏れや追加された要素
Reference
この問題について(Programmers『完走していない選手』), 我々は、より多くの情報をここで見つけました https://velog.io/@hnym1104/Programmers-완주하지-못한-선수テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol