プログラマーLv 2 Tuple Kotlin


質問する

  • https://programmers.co.kr/learn/courses/30/lessons/64065
  • に答える


  • 文字列分割+ストリーム+ハッシュマッピングによるソリューションの簡略化

  • 数値以外の文字列で区切る->数値のカウントマップに保存->より高い順序で並べ替えて戻ります
  • コード#コード#

    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()
        }
    }