반응형
제목
( 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 |