Generador de informes con extensiones para colecciones anidadas

Kotlin Hard extensions

Tarea «Generador de informes con extensiones para colecciones anidadas»

Escriba un programa Kotlin que, mediante funciones de extensión para List<Map<String, Any>>, implemente la generación de un informe: aplique secuencialmente filtrado por valor de clave de cadena, ordenación por clave entera, agrupación por clave de cadena y cálculo de la suma de un campo entero dentro de cada grupo. Datos de entrada: un número N (cantidad de registros), luego N líneas con el formato 'clave1=valor1,clave2=valor2,...'. Datos de salida: para cada grupo mostrar 'clave_grupo: suma', donde suma es la suma de los valores del campo 'score' para los registros del grupo. Si después del filtrado no quedan registros, mostrar 'empty'.

Formato de entrada

Un número entero N (1 ≤ N ≤ 1000). Luego N líneas, cada una contiene pares 'clave=valor' separados por comas. Claves: 'name' (String), 'group' (String), 'score' (Int). Los valores pueden contener solo letras latinas, dígitos y espacios. Todos los registros son válidos.

Formato de salida

Líneas con el formato 'clave_grupo: suma' para cada grupo después del procesamiento, ordenadas de forma ascendente por clave_grupo. Si la lista resultante está vacía, mostrar 'empty'.

Ejemplos

Ejemplo 1

ENTRADA
1 name=Frank,group=B,score=100
SALIDA
B: 100
main.kt