diff --git a/682-baseball_game/python/682.py b/682-baseball_game/python/682.py new file mode 100644 index 0000000..15e2895 --- /dev/null +++ b/682-baseball_game/python/682.py @@ -0,0 +1,36 @@ +# 682. Baseball Game +# +# You are keeping the scores for a baseball game with strange rules. At the +# beginning of the game, you start with an empty record. +# +# You are given a list of strings operations, where operations[i] is the ith +# operation you must apply to the record and is one of the following: +# +# An integer x. +# Record a new score of x. +# '+'. +# Record a new score that is the sum of the previous two scores. +# 'D'. +# Record a new score that is the double of the previous score. +# 'C'. +# Invalidate the previous score, removing it from the record. +# +# Return the sum of all the scores on the record after applying all the +# operations. +# +# The test cases are generated such that the answer and all intermediate +# calculations fit in a 32-bit integer and that all operations are valid. + + +def calPoints(operations: list[str]) -> int: + resultado: list[int] = [] + for index in range(len(operations)): + if operations[index] == "C": + resultado.pop() + elif operations[index] == "D": + resultado.append(resultado[-1] * 2) + elif operations[index] == "+": + resultado.append(resultado[-1] + resultado[-2]) + else: + resultado.append(int(operations[index])) + return sum(resultado)