알고리즘

7/29 class2 - 백준 2108번 : 통계학

김한토 2025. 7. 30. 11:31
반응형

 

제목

( 7/29 class2 - 백준 2108번 : 통계학

 

핵심 코드 삽입 및 설명

  • groupingBy { it }.eachCount() / groupingBy { it }.fold()
  • map은 인덱스 접근 안돼서 list로 바꿔줘야함.
  • sorted()는 arr반환 sort() 반환값 없음

 

import kotlin.math.*

fun main() {
    val n = readLine()!!.toInt()   //5
    val a = (n/2).toInt() //2
    var arr = mutableListOf<Int>() //[1,3,8,-1,2]
    
    repeat(n) {
        val input = readLine()!!.toInt()
        arr.add(input)
    }
    
    arr.sort() 
    
    fun mode() : Int {
        var modeArr = arr.groupingBy{it}.eachCount()
        var maxFreq = modeArr.values.maxOrNull()?:0
        var maxArr = modeArr.filter {it.value == maxFreq}.keys.sorted()
        
        return if (maxArr.size >= 2) maxArr[1] else maxArr[0]
    }
    
    println(arr.average().roundToInt())
    println(arr[a])
    println(mode())
    println(arr[n-1] - arr[0])
}
반응형

'알고리즘' 카테고리의 다른 글

백준 2164번 : 카드2 (Queue)  (0) 2025.07.07
유클리드 호제법(ft. 최대공약수)  (1) 2024.06.03