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