"the only way to be truly satisfied is to do what you believe is great work."

[C++] 프로그래머스 : 달리기 경주

출처: 프로그래머스 코딩테스트 연습 , https://school.programmers.co.kr/learn/courses/30/lessons/178871

이 문제도 해쉬 테이블을 이용하는 문제인건 알았지만,

해쉬 테이블에 있는 데이터들을 정렬해서 벡터에 담으려고 하다보니 시간초과가 났다.

해쉬 테이블에 있는 데이터를 바탕으로 , 바로 answer를 조작해서 답을 구하는것이 

이 문제를 푸는 방법이다.

#include <string>
#include <vector>
#include <unordered_map>
#include <iostream>

using namespace std;

vector<string> solution(vector<string> players, vector<string> callings) {
    int N = players.size();
    unordered_map <string,int> hash;
    vector<string> answer (players);
    
    for(int i = 0 ; i < N; i++){
        hash[players[i]] = i;
    }
    
    for(string call : callings){
        string temp_name = answer[hash[call] - 1];
        answer[hash[call] - 1] = call;
        answer[hash[call]] = temp_name;
        hash[call] --;
        hash[temp_name] ++;  
    }
    
    return answer;
}