프로그래머스 문제(완주하지 못한 선수 문제)

문제 설명
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 
모든 선수가 마라톤을 완주하였습니다.

마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수들의 
이름이 담긴 배열 completion이 주어질 때, 완주하지 못한 선수의 이름을 
return 하도록 solution 함수를 작성해주세요.

javascript 풀이

function solution(a, b) {
    var answer = '';
    let cnt = 0;

    a.sort();
    b.sort();

    for(let human of a){
        if(human != b[cnt]){
            answer = human;
            break;
        }
        cnt++;
    }


    return answer;
}

c++ 풀이

#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

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, max = completion.size(); i < max; i++){

        if(participant[i] != completion[i])
            return participant[i];
    }

    return participant[participant.size() - 1];
}

느낀점

sort() 함수는 <algorithm> 헤더에 내장되어 있어 먼저 불러온뒤,
sort(시작,끝) 시작과 끝을 정해주면 자동으로 오름차순 정렬을 해줍니다.

그리고 신기하게도 <iostream>를 불러와주면 string을 출력할때
count << string << endl 이런식으로 멋지게 출력코드를 작성할 수 있습니다.