C++/프로그래머스
[프로그래머스] [C++] 완주하지 못한 선수
MayQ
2020. 11. 18. 17:45
문제 풀이
#include <string>
#include <algorithm>
#include <vector>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
// 우선 참가자와 완주자를 정렬한다.
sort(participant.begin(), participant.end());
sort(completion.begin(), completion.end());
// 비교를 위한 인덱스 생성
int idx = 0;
// 참가자 배열을 순회하면서
for (auto it : participant) {
// 참가자와 완주자가 같다면 다음 완주자를 확인하고
if (it == completion[idx]) idx++;
// 참가자와 완주자가 다르다면 해당 참가자가 완주하지 못한 참가자이므로 리턴
// 위에서 미리 정렬을 했기 때문에 값이 다르면 해당 사람이 문제의 정답이 된다.
else return it;
}
}
문제 링크
programmers.co.kr/learn/courses/30/lessons/42576?language=cpp
코딩테스트 연습 - 완주하지 못한 선수
수많은 마라톤 선수들이 마라톤에 참여하였습니다. 단 한 명의 선수를 제외하고는 모든 선수가 마라톤을 완주하였습니다. 마라톤에 참여한 선수들의 이름이 담긴 배열 participant와 완주한 선수
programmers.co.kr