프로그래밍
[Kotlin] 실패율
독서와 여행
2021. 4. 18. 17:05
코틀린 문법이 아직 익숙하지 않다.
그 뭐냐 이건 다른 사람 코드를 배낀거다.
처음에는 이해가 잘 안갔는데 그냥 혼자 하나하나 파해치다 보니까 이해가 갔다.
class Solution{
fun solution(N:Int, stages: IntArray){
var answer = IntArray(N)
val indexMap : MutableMap<Int, Int> = mutableMapOf() // 파이썬 딕셔너리와 비슷
val failutrMap : MutableMap<Int, Double> = mutableMapOf()
stages.forEach {
when(indexMap.containsKey(it)){ // stage for문 돌면서 indexMap에 있는지 확인
true -> indexMap[it] = indexMap.getValue(it) + 1 // 있으면 + 1
false -> indexMap[it] = 1 //처음에는 없으니 + 1
}
var size = stages.size // 스테이지 통과한 사람들 일단 1단계는 모두니까 !
for (i in 1..N){
when(indexMap.containsKey(i)){
true -> {
failutrMap[i] = indexMap.getValue(i) / size.toDouble()
totalSize -= indexMap.getValue(i) // 스테이지 통과한 사람들
}
false -> failutrMap[i] = 0.0
}
}
var sub_list = failutrMap.toList().sortedByDescending { (_, value) -> value }
for (i in 0 until N) answer[i] = sub_list[i].first
return answer
}
}