[kotlin] 맵(Map)을 사용하여 데이터를 집계하고 통계를 내는 방법은 무엇인가요?

맵(Map)은 Kotlin에서 데이터를 저장할 때 매우 유용한 자료구조입니다. 맵을 사용하여 쉽게 데이터를 집계하고 통계를 내는 방법을 살펴보겠습니다.

1. 맵(Map)을 사용한 데이터 집계

맵을 사용하여 데이터를 집계하려면 데이터를 맵에 추가하고 값을 누적하는 방식으로 작업할 수 있습니다. 이를 위해 맵의 값으로 누적된 데이터를 저장하고, 같은 키가 여러 번 나타날 때마다 해당 값에 누적 데이터를 추가하면 됩니다.

예를 들어, 주어진 목록에서 각 요소가 몇 번 등장했는지 빈도를 집계하는 경우:

val data = listOf("Apple", "Banana", "Apple", "Orange", "Banana", "Apple")
val frequencyMap = mutableMapOf<String, Int>()

for (item in data) {
    frequencyMap[item] = frequencyMap.getOrDefault(item, 0) + 1
}

println(frequencyMap) // 결과 출력: {Apple=3, Banana=2, Orange=1}

2. Map을 사용한 데이터 통계

맵을 사용하여 데이터를 통계할 때에는 데이터를 맵에 추가한 뒤 필요한 통계량(예: 평균, 최소값, 최대값)을 계산할 수 있습니다.

예를 들어, 주어진 숫자 목록의 평균값을 계산하는 경우:

val numbers = listOf(4, 7, 8, 2, 9, 5)
val sum = numbers.sum()
val average = sum.toDouble() / numbers.size

println("평균: $average") // 결과 출력: 평균: 6.166666666666667

정리하면, Kotlin의 맵(Map)을 사용하여 데이터를 효과적으로 집계하고 통계를 내는 방법을 살펴보았습니다. 위 예제를 참고하여 원하는 데이터에 맞게 맵을 활용해 보시기 바랍니다.

관련 자료: