프로그래머스
[프로그래머스] 스위프트 실패율
Hani_Levenshtein
2021. 9. 21. 14:57
https://programmers.co.kr/learn/courses/30/lessons/42889
코딩테스트 연습 - 실패율
실패율 슈퍼 게임 개발자 오렐리는 큰 고민에 빠졌다. 그녀가 만든 프랜즈 오천성이 대성공을 거뒀지만, 요즘 신규 사용자의 수가 급감한 것이다. 원인은 신규 사용자와 기존 사용자 사이에 스
programmers.co.kr
import Foundation
func solution(_ N:Int, _ stages:[Int]) -> [Int] {
let stages = stages.sorted(by: <)
var answer: [Float] = []
let cnt = stages.count
for i in 1...N {
if let first: Int = stages.firstIndex(of: i) {
let last: Int = stages.lastIndex(of: i) ?? cnt
answer.append((Float(last-first+1))/(Float(cnt-first)))
} else {
answer.append(0)
}
}
return answer.enumerated().sorted(by: {
if $0.1 != $1.1 {
return $0.1 > $1.1
}
return $0.0 < $1.0
}).map{ $0.0+1 }
}