728x90
반응형
1. 문제요약
- 마라톤 선수들의 이름이 담긴 participant, 완주한 completion
- 완주하지 못한 선수의 이름 return
2. 풀이
- participant에는 있지만 completion에는 없는 이름이 완주하지 못한 선수
- 두 vector를 이름순으로 정렬하고, 0번째 index부터 이름을 검사한다. participant과 completion에 이름이 다른 순간이 participant에만 이름이 있는 것이므로, 그 이름을 return 한다.
3. 코드
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
string solution(vector<string> participant, vector<string> completion) {
string answer = "";
sort(participant.begin(), participant.end(), greater<string>());
sort(completion.begin(), completion.end(), greater<string>());
int idx=0;
for(int i=0; i<participant.size(); i++){
if (participant[i] == completion[idx]) {
idx++;
}
else{
answer = participant[i];
return answer;
}
}
}
4. 리뷰
- 정렬과 for문을 이용한 검색으로 작성해서 해시를 사용하지 않은 것 같다. -> 이 부분 더 찾아보기
728x90
반응형
'알고리즘 > 코딩테스트 고득점kit' 카테고리의 다른 글
[해시] 위장 (0) | 2022.03.14 |
---|