풀이
문자열을 파싱하여 문제에 주어진 조건에 맞게 처리하였습니다. 이때, 숫자는 두자리 이상의 수가 올 수 있기때문에 주의해야합니다.
마지막으로 처리된 수를 list 자료형인 score에 저장하여 score 값을 모두 더해주어 해결했습니다.
코드
def solution(dartResult):
answer = 0
score = []
num = ""
for c in dartResult:
if c.isdigit():
num += c
elif c == '*':
score[-1] *= 2
if len(score) >= 2:
score[-2] *= 2
elif c == '#':
score[-1] *= -1
else:
score.append(int(num))
num = ""
if c == 'D':
score[-1] = score[-1] ** 2
elif c == 'T':
score[-1] = score[-1] ** 3
answer = sum(score)
return answer
'알고리즘 > 프로그래머스' 카테고리의 다른 글
[Python] 메뉴 리뉴얼 (0) | 2021.03.15 |
---|---|
[Python] 문자열 압축 (0) | 2021.03.14 |
[Python] 실패율 (0) | 2021.03.06 |
[Python] 비밀지도 (0) | 2021.02.28 |
[Python] 키패드 누르기 (0) | 2021.02.27 |