Ctrl K

Снисходительный словарь

Средняя
Есть словарь dictionary и список запросов queries. Для каждого запроса нужно найти правильное написание по таким правилам (применяются по порядку, срабатывает первое подошедшее): 1. Если запрос в точности (с учётом регистра) есть в словаре — вернуть его самого. 2. Иначе, если в словаре есть слово, совпадающее с запросом без учёта регистра, — вернуть первое такое слово в том виде, как оно записано в словаре. 3. Иначе, если в словаре есть слово, которое совпадает с запросом без учёта регистра после того, как любые гласные заменены любыми гласными (по одной, длина не меняется), — вернуть первое такое слово из словаря. 4. Иначе — вернуть пустую строку. Гласными считаются a, e, i, o, u. Верните список ответов в порядке запросов.
Пример 1
dictionary=['Mango', 'lemon', 'melon'], queries=['mango', 'MANGO', 'lemon', 'limon', 'milan', 'lime'] → ['Mango', 'Mango', 'lemon', 'lemon', 'melon', '']

mango и MANGO совпадают с Mango без учёта регистра. lemon есть в словаре как есть. limon отличается от lemon одной гласной. milan подходит к melon. Для lime подходящего слова нет.

Пример 2
dictionary=['tea', 'Tea', 'toe'], queries=['TEA', 'tia', 'Tea'] → ['tea', 'tea', 'Tea']

Для TEA берётся первое слово, совпадающее без учёта регистра, — tea. Для tia первое подходящее по гласным — тоже tea. Tea есть в словаре точно, его и возвращаем.

Ограничения
  • 1 ≤ len(dictionary), len(queries) ≤ 5000
  • 1 ≤ длина каждого слова ≤ 50
  • Слова состоят только из латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиРазложить анаграммы по группам СредняяРазбиение на слова из словаря СредняяСлова, равные со сдвигом СредняяПодпоследовательность только одного слова СредняяФайлы с одинаковым содержимым Средняя
загружаем Python…
Вход
dictionary=['Mango', 'lemon', 'melon'], queries=['mango', 'MANGO', 'lemon', 'limon', 'milan', 'lime']
Ожидается
['Mango', 'Mango', 'lemon', 'lemon', 'melon', '']

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