티스토리 뷰

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

 

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

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

programmers.co.kr

 

#include<iostream>
#include<vector>
#include<algorithm>
#include<cassert>

using namespace std;

//Parameter
//1 participant : 참여자 명단
//2. completion : 완료자 명단
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 < completion.size(); i++) {
        if (participant[i] != completion[i]) {
            answer = participant[i];
            return answer;
        }
    }
    return  participant[participant.size() - 1];
}

 

 

문제 풀이

주어진 Parameter인 participant와 completion 배열 sort할 경우 두 배열의 데이터가 순서대로 정렬됨.

완주한 집합 completion을 기준으로 배열을 순회하며 같은 위치의 두배열의 데이터가 다를 경우 참여자 명단의 데이터를 return

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/07   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31
글 보관함