Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Uncategorized category for Digit Stack by quis20
def digit_stack(commands):
db = {}
idx = 0
suma = 0
for command in commands:
cmd = command.split(" ")
par = 0
if len(cmd) > 1:
par = int(cmd[1])
if cmd[0] == "PUSH":
db[idx] = par
idx+=1
elif cmd[0] == "POP":
if idx > 0:
idx-=1
suma+=db[idx]
elif cmd[0] == "PEEK":
if idx > 0:
suma+=db[idx-1]
return suma
if __name__ == '__main__':
#These "asserts" using only for self-checking and not necessary for auto-testing
assert digit_stack(["PUSH 3", "POP", "POP", "PUSH 4", "PEEK",
"PUSH 9", "PUSH 0", "PEEK", "POP", "PUSH 1", "PEEK"]) == 8, "Example"
assert digit_stack(["POP", "POP"]) == 0, "pop, pop, zero"
assert digit_stack(["PUSH 9", "PUSH 9", "POP"]) == 9, "Push the button"
assert digit_stack([]) == 0, "Nothing"
Jan. 24, 2016