Lemonade Change
class Solution:
def lemonadeChange(self, bills):
cache = {c: 0 for c in [5, 10, 20]}
for bill in bills:
cache[bill] = cache[bill] + 1
change = bill - 5
while change > 0:
if change >= 20 and cache.get(20) > 0:
change = change - 20
cache[20] = cache[20] - 1
elif change >= 10 and cache.get(10) > 0:
change = change - 10
cache[10] = cache[10] - 1
elif change >= 5 and cache.get(5) > 0:
change = change - 5
cache[5] = cache[5] - 1
else:
return False
return True