Ctrl K

Где поужинать вдвоём

Лёгкая
Двое друзей выбирают, где поужинать. Каждый составил свой список заведений в порядке предпочтения: first — список первого, second — второго. На позиции 0 стоит самое любимое место. Для заведения, которое есть в обоих списках, посчитаем сумму его позиций: позиция в first плюс позиция в second. Чем сумма меньше, тем лучше компромисс. Верните все общие заведения с наименьшей суммой позиций. Порядок в ответе не важен.
Пример 1
first=['Pizza', 'Sushi', 'Tacos', 'Ramen'], second=['Ramen', 'Burgers', 'Sushi'] → ['Sushi', 'Ramen']

Общие места — «Sushi» (1 + 2 = 3) и «Ramen» (3 + 0 = 3). Суммы равны, поэтому подходят оба.

Пример 2
first=['Bakery', 'Deli', 'Noodle Bar'], second=['Deli', 'Noodle Bar'] → ['Deli']

«Deli» даёт 1 + 0 = 1, «Noodle Bar» — 2 + 1 = 3. Лучший компромисс один — «Deli».

Пример 3
first=['Grill'], second=['Cafe', 'Grill'] → ['Grill']

Общее место всего одно, оно и есть ответ.

Ограничения
  • 1 ≤ len(first), len(second) ≤ 1000
  • 1 ≤ длина каждого названия ≤ 30
  • Названия состоят из английских букв и пробелов
  • Внутри одного списка названия не повторяются
  • Хотя бы одно заведение есть в обоих списках
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиСлова одного ряда ЛёгкаяФразы со словами-синонимами ЛёгкаяСлово из букв автономера ЛёгкаяРазличные сигналы азбуки Морзе ЛёгкаяСколько настоящих ящиков Лёгкая
загружаем Python…
Вход
first=['Pizza', 'Sushi', 'Tacos', 'Ramen'], second=['Ramen', 'Burgers', 'Sushi']
Ожидается
['Sushi', 'Ramen']

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