class Solution {
fun solution(players: Array<String>, callings: Array<String>): Array<String> {
val runnerByRank = players.mapIndexed { index, s -> index to s }.toMap().toMutableMap()
val runnerByName = players.mapIndexed { index, s -> s to index }.toMap().toMutableMap()
callings.forEach { winner ->
val winnerRank = runnerByName[winner]!!
val loserRank = winnerRank - 1
val loser = runnerByRank[loserRank]!!
runnerByRank[loserRank] = winner
runnerByRank[winnerRank] = loser
runnerByName[winner] = loserRank
runnerByName[loser] = winnerRank
}
return runnerByRank.values.toTypedArray()
}
}
테케 통과하긴 하는데 일부 케이스에서 시간 초과 발생