У клиента есть три типа счетов - текущий, кредитный и накопительный. С текущего счета можно снять все деньги, с кредитного - все деньги и доступный кредитный лимит, с накопительного не более 10% от баланса.
Нужно написать функцию, которая будет набирать с разных счетов запрошенную клиентом сумму. Приоритет выбора счета следующий - сначала текущий, потом кредитный, последний накопительный.
Главная функция должна иметь имя run.
Функция получает следующие аргументы:
Массив объектов с информацией о счете(тип счета и баланс) и сумма необходимая для снятия.
Функция должна вернуть массив аналогичный пришедшему на вход, с обновленными данными балансов.
Пример:
Входные аргументы:
[
{“type”: “current”, “balance”: 20000},
{“type”: “credit”, “balance”: 30000, “limit”: 20000},
{“type”: “savings”, “balance”: 30000}
],
72000
Результат:
[
{“type”: “current”, “balance”: 0},
{“type”: “credit”, “balance”: 0, “limit”: 0},
{“type”: “savings”, “balance”: 28000}
]