[프로그래머스]다트 게임/python

Effy_ee·2023년 11월 3일
0

코딩테스트

목록 보기
80/118

👾(Lv.01) 다트 게임
https://school.programmers.co.kr/learn/courses/30/lessons/17682

🖥️ 답안

import re

def solution(dartResult):
    bonus = {'S' : 1, 'D' : 2, 'T' : 3}
    option = {'*' : 2, '#' : -1, '' : 1}
    p = re.compile('(\d+)([SDT])([*#]?)')
    dart = p.findall(dartResult)
    for i in range(len(dart)):
        if dart[i][2] == '*' and i > 0:
            dart[i-1] *= 2
        dart[i] = int(dart[i][0]) ** bonus[dart[i][1]] * option[dart[i][2]]

    answer = sum(dart)
    return answer

0개의 댓글