
우선 어떻게 푸는지 부터 알아보자. 우선 문자열도 정렬이 가능한데, 정렬을 해서 두 배열을 비교를 한다면 어디서 틀렸는지 알수 있는 게 된다. 왜 그러냐면 예시로 {a, d, b, e}, {b,e,d}라는 배열이 존재한다 하자. 그렇다면 정렬을 하면, {a,b,d,e}, {b,d,e} 배열이 되는데, 하나씩 비교를 해보면 a가 안들어간다는 것을 알 수 있다. 그러면 이제 a가 아닌 z라는게 들어간다면 하나씩 비교를 한다 해도 비교하는 배열이 끝이난다면, 마지막 인덱스만 틀리기 때문에 마지막만 리턴하면 정답이 된다.

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 (i < completion.size()) {
if (participant[i] != completion[i]) {
return participant[i];
}
}
}
// 마지막만 다른거기 때문에 마지막만 리턴
return participant[participant.size()-1];
}