37 lines
1.3 KiB
Python
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)
|