Menu
Coddy logo textTech

Повторение — более чистый код

Часть раздела Логика и управление потоком путешествия по Kotlin на Coddy. Урок 50 из 63.

challenge icon

Задание

Средне

Завершите cleanCodes с параметром text: String. Разделите текст по запятым и удалите пробелы в начале и конце каждого поля. Оставьте поля, соответствующие ровно двум заглавным буквам ASCII, за которыми следуют две цифры. Удалите дубликаты и верните допустимые коды, отсортированные в алфавитном порядке.

Если выше не указаны более строгие границы, коллекции содержат не более 100 элементов на каждом уровне, а целочисленные аргументы и целочисленные значения коллекций находятся в диапазоне от -1000 до 1000. Текст, предоставленный для разбора, может включать недопустимые представления или представления, выходящие за этот диапазон, как описано.

Верните значение типа List<String>. Сохраните предоставленный код ввода/вывода. Он считывает скалярные аргументы по одному в строке; список начинается с его количества элементов, за которым следуют элементы, а карта начинается с количества записей, за которым следуют каждые ключ и значение. Вложенные списки используют формат «количество и элементы» для каждой строки. Предоставленный main выводит возвращаемое значение, за которым следует один перевод строки. Списки используют стандартный формат Kotlin со скобками; не выводите дополнительные метки.

Попробуйте сами

fun cleanCodes(text: String): List<String> {
    // Напишите ваше решение здесь.
    return emptyList()
}
fun main() {
    val text = readLine().orEmpty()
    println(cleanCodes(text))
}

Все уроки раздела Логика и управление потоком

Потренируйтесь самостоятельно: Песочница Kotlin