2
this.bankNotes = new Array(5).fill(0);3
this.banksNotesValue = [20, 50, 100, 200, 500];7
* @param {number[]} banknotesCount10
ATM.prototype.deposit = function (banknotesCount) {11
for (let i = 0; i < 5; i++) {12
this.bankNotes[i] += banknotesCount[i];14
return this.bankNotes;18
* @param {number} amount21
ATM.prototype.withdraw = function (amount) {23
let usedBankNotes = new Array(5).fill(0);24
let temp = [...this.bankNotes];25
for (let i = 4; i >= 0; i--) {26
if (temp[i] > 0 && remain >= this.banksNotesValue[i]) {27
const bankNote = Math.floor(remain / this.banksNotesValue[i]);28
const maxCanUse = Math.min(temp[i], bankNote);29
usedBankNotes[i] = maxCanUse;32
remain -= maxCanUse * this.banksNotesValue[i];39
this.bankNotes = temp;45
* Your ATM object will be instantiated and called as such:47
* obj.deposit(banknotesCount)48
* var param_2 = obj.withdraw(amount)