나의 답안

def solution(dartResult):
    answer = []
    cur = 0
    i = 0

    while i < len(dartResult):
        if dartResult[i].isdigit():
            answer.append(cur)
            if dartResult[i + 1].isdigit():
                cur = 10
                i += 2
                continue
            cur = int(dartResult[i])

        elif dartResult[i] == 'D':
            cur = cur ** 2

        elif dartResult[i] == 'T':
            cur = cur ** 3

        if dartResult[i] == '*':
            if any(answer):
                answer[-1] *= 2
            cur *= 2

        elif dartResult[i] == '#':
            cur *= -1

        i += 1

    answer.append(cur)
    return sum(answer)

+ Recent posts