player표
mumu 0
soe 1
poe 2
kai 3
mine 4
ranking표
0 mumu
1 soe
2 poe
3 kai
4 mine
여기서 kai가 불리면
player표에서
kai의 등수에 -1
kai보다 높은 등수에 +1
raking표에서
kai보다 높은 등수에 kai를 넣고
kai 등수에는 kai보다 높은 등수를 넣는다
player표
mumu 0
soe 1
poe 3
kai 2
mine 4
ranking표
0 mumu
1 soe
2 kai
3 poe
4 mine
def solution(players, callings):
player_dict = {play : rank for rank, play in enumerate(players)}
rank_dict = {rank : play for rank, play in enumerate(players)}
for c in callings:
rank = player_dict[c]
player_dict[rank_dict[rank-1]], player_dict[rank_dict[rank]] = player_dict[rank_dict[rank]], player_dict[rank_dict[rank-1]]
rank_dict[rank-1], rank_dict[rank] = rank_dict[rank], rank_dict[rank-1]
return list(rank_dict.values())