Назад к задачам
OZONПолучайте помощь с лайвкодингом в реальном времени с Sobes Copilot
Junior — Senior
4
Алгоритм формирования выдачи купюр из банкомата
Компании, где спрашивали:
Условие задачи
Дан объект denominations, где ключи представляют номиналы банкнот, а значения – их доступное количество. Требуется реализовать функцию atmWithdraw(amount, denominations), принимающую целевую сумму для выдачи (amount) и объект с текущими остатками банкнот (denominations). Функция должна вернуть новый объект, содержащий набор банкнот, необходимых для выдачи указанной суммы, в том же формате, что и denominations. При этом исходный объект denominations должен быть изменён: количество использованных банкнот должно уменьшиться. Если собрать требуемую сумму из имеющихся банкнот невозможно, то:
- объект denominations остаётся без изменений;
- функция возвращает строковое сообщение о невозможности выполнения выдачи.