[프로그래머스]완주하지 못한 선수(C++)

문제-완주하지 못한 선수

🤔문제 해석

마라톤에 참여한 선수들의 이름이 담긴 배열 participant
완주한 선수들의 이름이 담긴 배열 completion
단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주
완주하지 못한 선수의 이름을 return하는 solution 함수 작성

❗ 제한 조건

-마라톤 경기에 참여한 선수의 수는 1명 이상 100,000명 이하입니다.
-completion의 길이는 participant의 길이보다 1 작습니다.
-참가자의 이름은 1개 이상 20개 이하의 알파벳 소문자로 이루어져 있습니다.
-참가자 중에는 동명이인이 있을 수 있습니다.

😏풀이

participant배열과 completion배열을 sort()함수를 이용하여 정렬한다.
단 한 명만 마라톤을 완주하지 못했기 때문에
정렬된 participant배열과 completion배열의 같은 위치를 비교하여 같지 않으면 해당 참가자를 return한다.

💻코드

#include <string>
#include <vector>
#include <algorithm>
using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    
    sort(participant.begin(),participant.end());
    sort(completion.begin(),completion.end());
    
    for(int i=0;i<participant.size();i++){
        if(participant[i]!=completion[i]) {
            answer=participant[i];
            return answer;
        }
    }
}

좋은 웹페이지 즐겨찾기