프로그래머스 lv1 1차-다트게임
1. 개요
2. 완주하지못한선수 풀이
import re
def solution(dartResult):
    darts = re.findall("(\d+)([SDT])([\*#]*)", dartResult)
    ADJUSTER = {"S":1, "D":2, "T":3, "*":2, "#":-1, "":1}
    answer = []
    
    # 정규식을 통해 각각의 다트의 점수, 보너스, 옵션을 모두 알아낼수 있다.
    for score, bonus, op in darts:
        score = int(score)**ADJUSTER[bonus]*ADJUSTER[op]
        
        if answer and op=="*":
            answer[-1] *= ADJUSTER[op]
        answer.append(score)
        
    return sum(answer)
 
      
Leave a comment