코틀린 문법이 아직 익숙하지 않다.
그 뭐냐 이건 다른 사람 코드를 배낀거다.
처음에는 이해가 잘 안갔는데 그냥 혼자 하나하나 파해치다 보니까 이해가 갔다.
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
}
}
[Kotlin] 음양 더하기 // 두 정수 사이의 합 (0) | 2021.04.18 |
---|---|
[Python] 크레인 인형뽑기 (0) | 2021.04.13 |
[Kotlin] 정규식 (0) | 2021.04.10 |
[Kotlin] 시퀀스를 이용한 피보나치 수열 (0) | 2021.04.09 |
[Kotlin] forEach / for EachIndexed (0) | 2021.04.08 |
댓글 영역