Programmers
[프로그래머스 / 파이썬 풀이] [1차] 다트 게임
Hoo_Dev
2023. 2. 2. 10:25
def solution(dartResult):
answer = 0
cal_lst = []
format_lst = dartResult.replace('10', 'X')
for i in format_lst:
if i.isnumeric() == True :
cal_lst.append(int(i))
if i == 'X':
cal_lst.append(10)
if i == 'S':
cal_lst[-1] **= 1
if i == 'D':
cal_lst[-1] **= 2
if i == 'T':
cal_lst[-1] **= 3
if i == '*':
if len(cal_lst) >= 2:
cal_lst[-1] *= 2
cal_lst[-2] *= 2
else:
cal_lst[-1] *= 2
if i == '#':
cal_lst[-1] = -cal_lst[-1]
answer = sum(cal_lst)
return answer
주의해야 할 부분은 10으로 담기는 부분 처리이다.
보통 리스트에 담게 된다면 1, 0이 따로 담기므로 10을 replace를 통해 다른 문자열로 변환해서 따로 체크해줘야 한다.