Ctrl K

Порядок по зашифрованным цифрам

Средняя
Шифр code — это перестановка цифр от 0 до 9: цифра d заменяется на code[d]. Чтобы получить **код** числа, замените в его десятичной записи каждую цифру по шифру и прочитайте результат как число (ведущие нули отбрасываются). Дан массив values. Упорядочьте его по возрастанию кодов элементов и верните результат. В ответе стоят сами исходные числа, а не их коды. Числа с одинаковым кодом сохраняют взаимный порядок из values.
Пример 1
code=[3, 1, 4, 0, 5, 9, 2, 6, 8, 7], values=[40, 13, 7] → [7, 13, 40]

40 превращается в 53 (4 → 5, 0 → 3), 13 — в 10 (1 → 1, 3 → 0), 7 — в 6. По возрастанию кодов: 7, 13, 40.

Пример 2
code=[5, 0, 1, 2, 3, 4, 6, 7, 8, 9], values=[11, 1, 50] → [11, 1, 50]

11 превращается в 00, то есть 0, и 1 — тоже в 0, поэтому они сохраняют исходный порядок. 50 превращается в 45 и идёт последним.

Пример 3
code=[0, 1, 2, 3, 4, 5, 6, 7, 8, 9], values=[21, 3] → [3, 21]
Ограничения
  • len(code) = 10, code — перестановка цифр 0–9
  • 1 ≤ len(values) ≤ 3·10⁴
  • 0 ≤ values[i] < 10¹⁵
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиТройки с нулевой суммой СредняяСумма тройки ближе всего к цели СредняяЧетыре числа с заданной суммой СредняяРазличные перестановки с повторами СредняяРазложить анаграммы по группам Средняя
загружаем Python…
Вход
code=[3, 1, 4, 0, 5, 9, 2, 6, 8, 7], values=[40, 13, 7]
Ожидается
[7, 13, 40]

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