프로그래머스 Lv2 튜플 Kotlin

문제

풀이

  • 문자열 분리 + 스트림 + 해시맵으로 간단하게 해결가능

  • 숫자가 아닌것들 기준으로 문자열 분리 -> 각 숫자의 개수 맵에 저장 -> 개수가 높은순으로 정렬 후 Return

코드

class Solution {
    fun solution(s: String): IntArray {
        var map = HashMap<Int,Int>()
        s.split("[^0-9]".toRegex()).filter{!it.isNullOrBlank()}.forEach{map[it.toInt()] = map.getOrDefault(it.toInt(),0)+1}
        return map.toList().sortedByDescending({it.second}).map{it.first}.toIntArray()
    }
}

좋은 웹페이지 즐겨찾기