Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
Supa fast =) solution in Speedy category for Digit Stack by ermichin158
def digit_stack(commands):
stack = [];
summ = 0;
for command in commands:
if command == "POP":
if stack != []:
summ += stack[-1];
del stack[-1]
elif command == "PEEK":
summ += stack[-1] if stack != [] else 0;
else:
stack.append(ord(command[-1]) - 48);
return summ
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"
Oct. 28, 2015
Comments: