Algorithm/Programmers(c++)

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

kim-hasa 2021. 7. 26. 18:38

https://programmers.co.kr/learn/courses/30/lessons/42576

 

코딩테스트 연습 - 완주하지 못한 선수

수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수

programmers.co.kr

 

참가자 중에서 완주하지 못한 한 선수를 찾아서 리턴하는 문제입니다.

 

참가자와 완주자를 sort 알고리즘을 이용해서 정렬합니다.

 

그 이후에 참가자와 완주자의 인덱스를 비교해서 다른 경우, 참가자에 있는 사람이 완주자에 없는 경우이므로

answer 에 넣어서 출력합니다.

 

#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];
            break;
        }
    }
    return answer;
}

※ 코드가 지저분할 수 있습니다.