def solution(dartResult):
stack = []
dartResult = dartResult.replace("10", "A")
bonus = {'S': 1, 'D': 2, 'T': 3}
for i in dartResult:
if i.isdigit() or i=='A':
stack.append(10 if i == 'A' else int(i))
print(stack)
elif i in ('S', 'D', 'T'):
num = stack.pop()
stack.append(num ** bonus[i])
elif i == '#':
stack[-1] *= -1
elif i == '*':
num = stack.pop()
if len(stack):
stack[-1] *= 2
stack.append(2 * num)
return sum(stack)
'문제풀이 > 프로그래머스' 카테고리의 다른 글
[프로그래머스][Lv1] - 가운데 글자 가져오기(Python) (0) | 2021.10.18 |
---|---|
[프로그래머스][Lv1] - 예산 (Python) (0) | 2021.10.18 |
[프로그래머스][Lv1] - 크레인 인형뽑기 게임 (Python) (0) | 2021.10.17 |
[프로그래머스][Lv1] - 실패율 (Python) (0) | 2021.10.17 |
[프로그래머스][Lv1] - 내적 (Python) (0) | 2021.10.17 |