let playerInfo = {};
function getPlayerInfo (players) {
// forEach는 새로운 배열을 반환하는 것이 아니기 때문에 return문 불필요
players.forEach((player, index) => {
playerInfo[player] = index;
})
}
function solution(players, callings) {
getPlayerInfo(players);
callings.forEach((calling) => {
// 불린 선수의 현재 등수
let index = playerInfo[calling];
// 불린 선수의 앞 선수
let frontPlayer = players[index - 1];
// 배열에서 앞 선수와 현재 불린 선수의 자리 교체
players[index - 1] = calling;
players[index] = frontPlayer;
// playerInfo 객체에서도 앞 선수와 현재 불린 선수의 자리 교체
playerInfo[frontPlayer] = index;
playerInfo[calling] = index - 1;
});
return players;
}
** 7월 11일부터 7월 14일까지 채용 과제를 진행하여 4개의 포스팅을 한번에 올립니다.