Войти Регистрация
Алгоритмы

156. Выдать сумму наименьшим числом купюр

Лёгкая

В банкомате купюры номиналом 5000, 2000, 1000, 500, 200 и 100 рублей, каждой хватает. Клиент снимает amount рублей.

Верните, сколько купюр каждого номинала выдать, по убыванию номинала: список из 6 чисел. Купюр должно быть как можно меньше.

Если сумма не делится на 100, выдать её нельзя — верните пустой список.

В работе: Расчёт выдачи в банкомате Сбера: меньше купюр — дольше хватает кассет и быстрее выдача.

Пример 1

Ввод
amount = 7800
Вывод
[1, 1, 0, 1, 1, 1]

5000 + 2000 + 500 + 200 + 100: пять купюр.

Пример 2

Ввод
amount = 450
Вывод
[]

Не делится на 100.

Ограничения

  • 0 ≤ amount ≤ 10⁹
  • Лимит — 2 с на тест (1500 мс).
Как вызывается ваш код Читать ввод и печатать ответ не нужно: мы вызываем функцию на каждом тесте и сравниваем то, что она вернула. print() и console.log() уходят в консоль.
def atm_banknotes(amount):
Жадный алгоритмАрифметикацель1

Источник: наша задача на данных Сбера. Условие пересказано своими словами.