Files

37 lines
1.3 KiB
Python

# 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)