Design an ATM Machine LeetCode solution in Python

1
class ATM:
2
def __init__(self):
3
self.cash = [0] * 5
4
self.values = [20, 50, 100, 200, 500]
5

6
def deposit(self, banknotes_count: List[int]) -> None:
7
for i, n in enumerate(banknotes_count):
8
self.cash[i] += n
9

10
def withdraw(self, amount: int) -> List[int]:
11
res = []
12
for val, n in zip(self.values[::-1], self.cash[::-1]):
13
need = min(n, amount // val)
14
res = [need] + res
15
amount -= need * val
16
if amount == 0:
17
self.deposit([-x for x in res])
18
return res
19
else:
20
return [-1]

0

WPM •0 •0

100%

ACC •0 •0

0s

TIME •0