3. 딕셔너리에서 해당 위치와 그 바로 전의 위치, player에서 해당 위치와 그 바로 전의 위치 교환.
으로 쉽게 풀 수가 있다.
추가로 swift에는 swapAt이라는 함수가 있어서
배열이름.swapAt(인덱스 위치, 인덱스 위치)
를 이용해 쉽게 배열에서 두 변수의 위치가 교환이 가능하다.
[회고]
.
[코드]
import Foundation
func solution(_ players:[String], _ callings:[String]) -> [String] {
var mp: [String: Int] = [:]
var player = players
for i in 0..<players.count {
mp[players[i]] = i
}
for i in 0..<callings.count {
var temp = mp[callings[i]]!
mp[player[temp]]! -= 1
mp[player[temp - 1]]! += 1
player.swapAt(temp, temp - 1)
}
return player
}