반응형
#include <string>
#include <vector>
#include <map>

using namespace std;

vector<string> solution(vector<string> players, vector<string> callings) {
    vector<string> answer;

    map<string, int> playerC;     
    map<int, string> playerN;
    
    for(int i=0; i<players.size(); i++){
        playerC[players[i]] = i;
        playerN[i] = players[i];
    }
    
    for(int i=0; i<callings.size(); i++){
        int idx = playerC[callings[i]];
        string temp = playerN[idx - 1];
        playerC[callings[i]] = idx - 1;
        playerC[temp] = idx;
        playerN[idx - 1] = callings[i];
        playerN[idx] = temp;
    }
    
    for(auto c : playerN) answer.push_back(c.second);
    return answer;
}
반응형

'프로그래머스(코딩테스트 연습)' 카테고리의 다른 글

프로그래머스 문자열 섞기 C++  (0) 2023.09.22
프로그래머스 추억점수 C++  (0) 2023.09.16
홀짝 구분하기  (0) 2023.07.13
문자열 돌리기  (0) 2023.07.13
문자열 붙여서 출력하기  (0) 2023.07.13