Skip to content

Latest commit

 

History

History
62 lines (51 loc) · 2.03 KB

File metadata and controls

62 lines (51 loc) · 2.03 KB

완주하지 못한 선수

Programmers 42576 문제

메모 할 사항

아직 자료구조를 이론적으로 배운적이 없기 때문에 앞으로 map, hash 등의 공부를 진행할 계획입니다.
특히 어떤 상황에서는 어떤 것을 사용해야 더 효율적인지에 대한 구현 경험의 필요를 느끼고 있습니다.

  • 이 문제의 경우 이전에 다른 문제를 풀 때 vector와 sort를 활용한 경험이 있어 우선적으로 사용했습니다.
    sort를 사용해 각 배열을 정렬시킨 뒤 순서대로 비교하다보면 참여자와 완주자가 다른 순간이 생기며,
    이 경우 해당 참여자가 완주자의 명단에 없는 것이 되기 때문에 검출 가능합니다.

입출력 예시

participant completion return
[leo, kiki, eden] [eden, kiki] leo
[marina, josipa, nikola, vinko, filipa] [josipa, filipa, marina, nikola] vinko
[mislav, stanko, mislav, ana] [stanko, ana, mislav] mislav

Result Code

#include <string>
#include <vector>
#include <algorithm>
using namespace std;

string solution(vector<string> participant, vector<string> completion) {

    sort(participant.begin(), participant.end());
    sort(completion.begin(),completion.end());
    
    for(int i = 0 ; i <= participant.size(); i++)
    {
        if(participant[i] != completion[i])
        {
            return participant[i];
        }
    } 
}

#성능 및 결과

정확성  테스트
테스트 1 〉	통과 (0.01ms, 3.96MB)
테스트 2 〉	통과 (0.01ms, 3.94MB)
테스트 3 〉	통과 (0.28ms, 3.94MB)
테스트 4 〉	통과 (0.57ms, 3.95MB)
테스트 5 〉	통과 (0.59ms, 3.93MB)
효율성  테스트
테스트 1 〉	통과 (37.63ms, 14.2MB)
테스트 2 〉	통과 (57.57ms, 19.6MB)
테스트 3 〉	통과 (71.81ms, 23.2MB)
테스트 4 〉	통과 (79.35ms, 25.3MB)
테스트 5 〉	통과 (77.01ms, 25.3MB)
채점 결과
정확성: 50.0
효율성: 50.0
합계: 100.0 / 100.0