Розбираємо, як у Kotlin зібрати «споріднені» звіти для консольного трекера витрат: фіксуємо формат даних (
List<Pair<String, Int>>), робимо спільний крок нормалізації категорій через
trim() і
lowercase(), розділяємо обчислення та виведення, а потім реалізуємо звіти
total,
byCategory,
threshold і
top на основі
fold,
groupBy, сортування й фільтрації.