본문 바로가기
알고리즘/프로그래머스

[2023-06-17] [프로그래머스 lv1] 성격 유형 검사하기 (Kotlin)

by joh9911 2023. 6. 17.

 

13분 정도 걸렸습니다.

 

class Solution {
    fun solution(survey: Array<String>, choices: IntArray): String {
        var answer: String = ""
        val arr = arrayOf(arrayOf('R','T'),arrayOf('C','F'),arrayOf('J','M'),arrayOf('A','N'))
        val map = mutableMapOf<Char,Int>()
        for (index in choices.indices){
            val choice = choices[index]
            val value = survey[index]
            
            when(choice){
                1 -> map[value.first()] = map.getOrDefault(value.first(), 0) + 3
                2 -> map[value.first()] = map.getOrDefault(value.first(), 0) + 2
                3 -> map[value.first()] = map.getOrDefault(value.first(), 0) + 1
                
                5 -> map[value.last()] = map.getOrDefault(value.last(), 0) + 1
                6 -> map[value.last()] = map.getOrDefault(value.last(), 0) + 2
                7 -> map[value.last()] = map.getOrDefault(value.last(), 0) + 3
            }
        }
        
        for (i in arr.indices){
            val first = map.getOrDefault(arr[i].first(), 0)
            val last = map.getOrDefault(arr[i].last(), 0)
            if (first >= last)
                answer += arr[i].first()
            else
                answer += arr[i].last()
        }
            
        return answer
    }
}

 

댓글