No Rules Rules

완주하지 못한 선수 (feat. 프로그래머스, 42576번) 본문

생활/코테

완주하지 못한 선수 (feat. 프로그래머스, 42576번)

개발하는 완두콩 2022. 7. 21. 20:45
728x90
반응형

완주하지 못한 선수
https://programmers.co.kr/learn/courses/30/lessons/42576

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

반응형

 

// woohyeon.kim
#include <string>
#include <vector>
#include <algorithm>
#include <iostream>

using namespace std;

string solution(vector<string> participant, vector<string> completion) {
    string answer = "";
    sort(participant.begin(), participant.end());
    sort(completion.begin(), completion.end());
    for(auto iter = completion.rbegin(); iter != completion.rend(); ++iter)
    {
        if(participant.back() != *iter)
        {
            answer = participant.back();
            break;
        }
        participant.pop_back();
    }
    if(answer.empty())      answer = participant[0];
    return answer;
}
// *&)*@*

 

  1. 미리 sort한 뒤에 계산해봅시다.
  2. 그리고 participant와 completion을 back부터 비교해봅니다.
  3. 동명이인이 있다면 participant에는 1개의 값만 남게 되고
    없다면 정렬을 했으므로 participant의 back과 completion의 back이 서로 다른 경우가 무조건 발생하게 되고
  4. 그 사람이 바로 범인입니다.
728x90
반응형
Comments