총 사람의 수는 특정 스테이지를 건널 수록 저번 차례의 사람의 수를 빼야 한다.
import Foundation
func solution(_ N:Int, _ stages:[Int]) -> [Int] {
var nodes = Array(repeating: 0, count: N + 1)
var people = stages.count
var results = [(Double, Int)]()
for stage in stages {
let stage = stage - 1
nodes[stage] += 1
}
nodes = [0] + nodes
for idx in 0..<nodes.count {
let node = nodes[idx]
let percent = Double(node) / Double(people)
results.append((percent, idx))
people -= node
}
results.removeFirst()
results.removeLast()
results.sort(by: {$0.0 > $1.0})
let answers = results.map{$0.1}
return answers
}