코딩테스트

프로그래머스 '실패율' 코테풀이

생각스택 2025. 2. 17. 10:13
반응형

프로그래머스 사이트에서

코틀린 언어, 레벨 1, 정답률이 높은 순서대로 풀고 있습니다.

사이트 : https://school.programmers.co.kr/learn/challenges?order=acceptance_desc&levels=1&languages=kotlin&page=3

 

코딩테스트 연습 | 프로그래머스 스쿨

개발자 취업의 필수 관문 코딩테스트를 철저하게 연습하고 대비할 수 있는 문제를 총망라! 프로그래머스에서 선발한 문제로 유형을 파악하고 실력을 업그레이드해 보세요!

school.programmers.co.kr

이번 문제는 '실패율'이라는 문제네요

위의 사이트에서

3페이지에서 내리시다보면 문제를 만날 수 있습니다.

문제는 읽으시면 이해하실 것 같습니다.

제 풀이는 이렇습니다.

class Solution {
    fun solution(N: Int, stages: IntArray): IntArray {
        var answer = intArrayOf()
        var answerMap = mutableMapOf<Int, Double>()
        var failCount: Double = 0.0
        var totalCount: Double = stages.size.toDouble()
        for(i in 1..N){
            for(ele in stages){
                if(i == ele){
                    failCount++
                }
            }
            var failProbilibty = failCount / totalCount
            answerMap.put(i, failProbilibty)
            totalCount = totalCount - failCount
            if(totalCount.toInt() == 0){
                totalCount = 1.0
            }
            failCount = 0.0
        }
        val sortedMap = answerMap.toList().sortedByDescending { it.second }.toMap() as MutableMap
        val answerList = sortedMap.keys
        return answerList.toIntArray()
    }
}

읽어주셔서 감사합니다.

궁금하신 점이나 더 나은 답이 있으시면 댓글로 알려주세요.

반응형