ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 실패율
    프로그래머스 2022. 9. 9. 20:27
    728x90
    class Solution {
        fun solution(N: Int, stages: IntArray): IntArray {
            var answer = mutableListOf<Int>()
            var miss = mutableMapOf<Int,Double>()
            var missList = mutableListOf<Double>()
            for(i in 1 .. N){
                if((stages.count{e-> e == i }).toDouble()== 0.0 && stages.count{e-> e >= i }.toDouble() == 0.0){
                    miss.put(i,0.0)
                    missList.add(0.0)
                    continue
                    //NaN 발생하여 대체
                }
                miss.put(i,(stages.count{e-> e == i }).toDouble()/stages.count{e-> e >= i }.toDouble())
                missList.add((stages.count{e-> e == i }).toDouble()/stages.count{e-> e >= i }.toDouble())
            }
            missList.sort()
            missList.reverse()
    
            for(i in 0 .. missList.size-1){
                for(j in 1 .. missList.size){
                    if(missList[i]==miss.get(j)){
                        answer.add(j)
                        miss.remove(j)
                        break
                    }
                }
            }
    
            return answer.toIntArray()
        }
    }

    저의 현재 실력으로 푼 문제 답안이며, 가장 좋은 코드는 아닐 수 있으며, 코틀린을 공부하면서 추가적으로 알게 된 개념이 있어 다시 풀 경우 추가적으로 코드를 작성 할 수 있도록 하겠습니다.

    '프로그래머스' 카테고리의 다른 글

    모의고사  (0) 2022.09.10
    체육복  (0) 2022.09.10
    [카카오 인턴] 키패드 누르기  (0) 2022.09.09
    두 개 뽑아서 더하기  (0) 2022.09.09
    3진법 뒤집기  (0) 2022.09.09
Designed by Tistory.