Назад к задачам
Junior — Senior
4

Алгоритм формирования выдачи купюр из банкомата

Компании, где спрашивали:

OZONOZON
Получайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Условие задачи

Дан объект denominations, где ключи представляют номиналы банкнот, а значения – их доступное количество. Требуется реализовать функцию atmWithdraw(amount, denominations), принимающую целевую сумму для выдачи (amount) и объект с текущими остатками банкнот (denominations). Функция должна вернуть новый объект, содержащий набор банкнот, необходимых для выдачи указанной суммы, в том же формате, что и denominations. При этом исходный объект denominations должен быть изменён: количество использованных банкнот должно уменьшиться. Если собрать требуемую сумму из имеющихся банкнот невозможно, то:

  • объект denominations остаётся без изменений;
  • функция возвращает строковое сообщение о невозможности выполнения выдачи.