Sobes.tech
Back to tasks
Junior — Senior
35

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

Companies where asked:

OZONOZON
Get help with live coding in real time with Sobes Copilot
Task condition

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

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