import re
def solution(dartResult):
arr = []
result = re.findall(r'[0-9]+[SDT][*#]?', dartResult)
bonus = ['S', 'D', 'T']
for r in result:
number = re.sub(r'[^0-9]', '', r)
r = r.replace(number, '')
number = int(number)**(bonus.index(r[0])+1)
arr.append(number)
if r[-1]=='*':
n = arr.pop()
if arr:
arr[-1] *= 2
arr.append(n*2)
elif r[-1]=='#':
arr[-1] *= -1
return sum(arr)
*이 앞 숫자까지 두 배가 되게 하므로 배열의 pop 함수 사용(스택)
배열에 각자 계산한 결과를 저장했다가 전체 합 구하기