Ctrl K

Блюда по числу упоминаний

Средняя
Кафе собрало отзывы гостей. Названия блюд из меню даны в массиве dishes (каждое — одно слово, повторов нет), а отзывы — в массиве reviews: каждый отзыв — это слова, разделённые одиночными пробелами. Популярность блюда — число отзывов, в которых его название встречается как отдельное слово. Если в одном отзыве блюдо названо несколько раз, этот отзыв всё равно считается один раз. Верните названия блюд, упорядоченные по убыванию популярности. Блюда с одинаковой популярностью идут в том же порядке, что и в dishes.
Пример 1
dishes=["soup", "pie", "salad"], reviews=["pie pie pie", "soup and pie", "salads were cold"] → ['pie', 'soup', 'salad']

pie упомянут в двух отзывах (повтор в одном отзыве считается один раз), soup — в одном, salad — ни в одном: слово salads не совпадает с salad.

Пример 2
dishes=["tea", "cake", "jam"], reviews=["jam", "cake"] → ['cake', 'jam', 'tea']

У cake и jam по одному упоминанию, они сохраняют свой порядок из dishes; tea не упомянут — он последний.

Пример 3
dishes=["rice"], reviews=["more rice please"] → ['rice']
Ограничения
  • 1 ≤ len(dishes) ≤ 10⁴
  • 1 ≤ len(dishes[i]) ≤ 20; названия состоят из строчных латинских букв, цифр и дефисов
  • Все dishes[i] различны
  • 1 ≤ len(reviews) ≤ 100
  • 1 ≤ len(reviews[j]) ≤ 1000
  • reviews[j] состоит из строчных латинских букв, цифр, дефисов и пробелов, без пробелов в начале и в конце и без двух пробелов подряд
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазложить анаграммы по группам СредняяПодпоследовательность только одного слова СредняяСамые частые запросы СредняяСлово, выращенное по букве СредняяСклеить карточки контактов Средняя
загружаем Python…
Вход
dishes=["soup", "pie", "salad"], reviews=["pie pie pie", "soup and pie", "salads were cold"]
Ожидается
['pie', 'soup', 'salad']

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 49 тестов на сервере, включая скрытые.