import java.util.*;
class Solution {
public String[] solution(String[] players, String[] callings) {
String[] answer = new String[players.length];
/*
이름을 통해서 검색해줄 것과 번호를 통해서 검색할 맵을 두개 만들었다.
하지만 String[] players를 이용하여 맵 대신 이용이 가능했다.
맵은 하나만 있으면 됬다.
*/
Map<String, Integer> sMap = new HashMap<>();
Map<Integer, String> iMap = new HashMap<>();
for(int i=0; i<players.length;i++){
sMap.put(players[i], i);
iMap.put(i, players[i]);
}
for(int i=0; i<callings.length; i++){
/*
변수 이름 선언 문제
카멜케이스나 파스칼케이스가 아닌것으로 작성했다.
*/
int before_players_number = sMap.get(callings[i]);
String before_player_name = iMap.get(before_players_number);
int after_players_number = before_players_number - 1;
String after_player_name = iMap.get(after_players_number);
sMap.put(before_player_name, after_players_number);
sMap.put(after_player_name, before_players_number);
iMap.put(after_players_number, before_player_name);
iMap.put(before_players_number, after_player_name);
}
for(int i=0; i<iMap.size();i++){
answer[i] = iMap.get(i);
}
return answer;
}
}
변수이름 선언할때 신경써서 하자