Напиши на языке kotlin: В меню ресторана M блюд. В течение дня ресторан обслужил N посетителей. При этом, посетители заказывали только
Пользователь задал следующий вопрос:

Напиши на языке kotlin: В меню ресторана M блюд. В течение дня ресторан обслужил N посетителей. При этом
посетители заказывали только по три блюда. Определить наиболее и наименее
популярные блюда.

Этот ответ написан нейросетью.

Внимание! Ответы искусственного интеллекта могут быть неточными. Не полагайтесь на них в медицине, юриспруденции, финансах и вопросах безопасности. При принятии важных решений всегда консультируйтесь с профильными специалистами.
Администрация сайта не несет ответственности за любой автоматически созданный контент. Если вы обнаружили ошибки, пожалуйста, сообщите об этом через кнопку "репорт" внизу ответа и мы примем соответствующие меры. Спасибо за вашу помощь в улучшении качества нашего сервиса.
текстовая нейросеть отвечает:
Для решения данной задачи можно воспользоваться HashMap. Здесь ключами будут являться названия блюд, а значениями - количество раз, которое это блюдо было заказано. Вначале нужно создать пустой объект HashMap:


val menu = HashMap<String, Int>()

Затем, проходим по каждому посетителю и, используя функцию readLine(), вычитываем у него названия трех блюд. Добавим каждое блюдо в HashMap:


repeat(N) {

    val dish1 = readLine()

    val dish2 = readLine()

    val dish3 = readLine()



    menu[dish1] = menu.getOrDefault(dish1, 0) + 1

    menu[dish2] = menu.getOrDefault(dish2, 0) + 1

    menu[dish3] = menu.getOrDefault(dish3, 0) + 1

}

Затем определим наиболее и наименее популярные блюда. Создадим переменные `maxCount` и `minCount`, которые будут хранить максимальное и минимальное количество заказов, и инициализируем их первым значением из HashMap:


var maxCount = 0

var minCount = Int.MAX_VALUE



for (count in menu.values) {

    if (count > maxCount) {

        maxCount = count

    } 

    if (count < minCount) {

        minCount = count

    }

}

Для определения наиболее и наименее популярных блюд можно использовать еще одну HashMap, в которой ключом будет количество заказов, а значением - список названий блюд с таким количеством заказов. Пройдемся по каждому элементу в HashMap `menu` и заполним вторую HashMap:


val dishesByCount = HashMap<Int, MutableList<String>>()



for ((dish, count) in menu) {

    if (dishesByCount.containsKey(count)) {

        dishesByCount[count]?.add(dish)

    } else {

        dishesByCount[count] = mutableListOf(dish)

    }

}

Теперь у нас есть HashMap, в которой список блюд сортирован по количеству заказов в возрастающем порядке. Определим наиболее и наименее популярные блюда:


val mostPopularDishes = dishesByCount[maxCount]

val leastPopularDishes = dishesByCount[minCount]

В результате выполнения кода в `mostPopularDishes` будут храниться названия самых популярных блюд, а в `leastPopularDishes` - названия самых непопулярных блюд. Выведем результаты на экран:


println("Наиболее популярные блюда:")

for (dish in mostPopularDishes) {

    println(dish)

}



println("Наименее популярные блюда:")

for (dish in leastPopularDishes) {

    println(dish)

}

Вот полный код программы на языке Kotlin:


fun main() {

    val menu = HashMap<String, Int>()

    val N = readLine()?.toInt() ?: 0



    repeat(N) {

        val dish1 = readLine()

        val dish2 = readLine()

        val dish3 = readLine()



        menu[dish1] = menu.getOrDefault(dish1, 0) + 1

        menu[dish2] = menu.getOrDefault(dish2, 0) + 1

        menu[dish3] = menu.getOrDefault(dish3, 0) + 1

    }



    var maxCount = 0

    var minCount = Int.MAX_VALUE



    for (count in menu.values) {

        if (count > maxCount) {

            maxCount = count

        } 

        if (count < minCount) {

            minCount = count

        }

    }



    val dishesByCount = HashMap<Int, MutableList<String>>()



    for ((dish, count) in menu) {

        if (dishesByCount.containsKey(count)) {

            dishesByCount[count]?.add(dish)

        } else {

            dishesByCount[count] = mutableListOf(dish)

        }

    }



    val mostPopularDishes = dishesByCount[maxCount]

    val leastPopularDishes = dishesByCount[minCount]



    println("Наиболее популярные блюда:")

    for (dish in mostPopularDishes) {

        println(dish)

    }



    println("Наименее популярные блюда:")

    for (dish in leastPopularDishes) {

        println(dish)

    }

}

Эта программа сначала считывает количество посетителей ресторана `N`. Затем в цикле считываются названия трех блюд, которые заказал каждый посетитель, и добавляются в HashMap `menu`. Затем находятся наиболее и наименее популярные блюда, используя значения из `menu`. Наконец, наиболее и наименее популярные блюда выводятся на экран.

Задайте любой вопрос нейросети!

но вы должны быть авторизованы, чтобы ей пользоваться
Войдите через Google в 1 клик

Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет

(c) Текстовая нейросеть 2023. Все права защищены. При обнаружении неправомерного контента пишите на [email protected]
Обратная связь с администрацией проекта
Обратная связь
Форма репорта неправомерного контента.
Форма репорта

Хотите задать любой вопрос нейросети?

Нажимая «Регистрация» или «Войти через Google», вы соглашаетесь с Публичной офертой, даете Согласие на обработку персональных данных, а также подтверждаете что вам есть 18 лет