Agorithm/프로그래머스

프로그래머스 Level 1 다트 게임

kimjinho1 2022. 6. 26. 00:38
728x90
반응형

단순한 구현 문제이다. dart 딕셔너리를 써서 조건문을 많이 줄일 수 있었다.

 

풀이

def solution(dartResult):
    dart = {'S': 1, 'D': 2, 'T': 3}
    n = ''
    score = []

    for c in dartResult:
        if c.isnumeric():
            n += c
        elif c in dart:
            score.append(int(n) ** dart[c])
            n = ''
        elif c == '*':
            score[-2:] = [s*2 for s in score[-2:]]
        elif c == '#':
            score[-1] = -score[-1]       

    return sum(score)
728x90
반응형