[Programmers] P17682 다트 게임
[Programmers] P17682 다트 게임
Question
Language: Python
-
각 다트 점수에 대해서 점수/보너스/옵션을 parsing 해야하는 데 이는 정규 표현식을 이용한다.
-
보너스를 합한 점수를 계산하며, 옵션을 적용한다.
Solution
import re
def solution(dartResult):
answer = [0]*3
points={"S":1,"D":2,"T":3}
options={"*":2,"#":-1,"":1}
#1
pattern=re.compile("(\d+)([SDT])([*#]?)")
groups=pattern.findall(dartResult)
for i in range(3):
#2
answer[i]=int(groups[i][0])**(points[groups[i][1]])*options[groups[i][2]]
if i>0 and groups[i][2] == "*":
answer[i-1]*=options[groups[i][2]]
return sum(answer)
댓글남기기