Solution 1 - Greedy Change
Prefer one ten and one five for a twenty, preserving five-dollar bills for future customers.
class Solution:
def lemonadeChange(self,b):
f=t=0
for x in b:
if x==5:f+=1
elif x==10:f-=1;t+=1
elif t and f:t-=1;f-=1
else:f-=3
if f<0:return False
return True
if __name__=='__main__':print(Solution().lemonadeChange([5,5,5,10,20]))