Перейти к содержанию

🗒 Задача

Напиши программу, которая один раз запрашивает у пользователя пять названий ингредиентов блюда в одной строке, разделяя их запятыми (с пробелом).

  • запроси у пользователя 5 ингредиентов, перечисленных через “, ” (запятая с пробелом) и сохрани их в список, где каждый ингредиент — отдельный элемент;

  • отсортируй полученный список по алфавиту и выведи его в консоль;

  • используй тот метод сортировки, который возвращает новую отсортированную коллекцию.

❌ Ошибки

  • не используют sorted() — намекать на разницу между sort() и sorted()

  • используют split() и дополнительно приводят к списку toList()

✏️ Комментарии

Давай уберем `.toMutableList()`и применим функцию сортировки, которая возвращает коллекцию. Код будет короче)
Давай посмотрим на сигнатуру split(). Метод уже возвращает список, поэтому приведение в List тут избыточно
Отлично, можно еще короче сделать без дополнительного списка)

🧾 Решение

fun main() {
    println("Введите пять ингридиентов блюда через запятую:")
    val ingredients = readln().split(", ").sorted()

    println("Готово! Список отсортирован по алфавиту: $ingredients")
}
fun main() {
    println("Введите в поле ниже через запятую 5 ингредиентов:")
    val ingredients = readln().split(", ").sorted()
    println("\nВаши ингредиенты:")
    ingredients.forEach { println(it) }
}
// продвинутый

fun main() {

    println("Введите 5 инредиентов через запятую:")
    val userAnswer = listOf(
        *readln()
            .filterNot { it.isWhitespace() }
            .split(",")
            .toTypedArray()
    ).sorted()

    println(userAnswer)
}