레벨1 문제
def solution(dart):
arr = []
for i in range(len(dart)):
# 숫자 처리
if ( dart[i].isdigit() ):
if ( dart[i] == '0' and dart[i-1].isdigit()):
arr[-1] = arr[-1] + dart[i]
else:
arr.append(dart[i])
# 문자 처리
elif ( dart[i].isalpha() ):
if ( dart[i] == 'S' ):
arr[-1] = int(arr[-1])
elif ( dart[i] == 'D' ):
arr[-1] = int(arr[-1]) ** 2
elif ( dart[i] == 'T' ):
arr[-1] = int(arr[-1]) ** 3
# 옵션 처리 (별)
elif ( dart[i] == '*'):
# 스타상이 첫번째에 나왔을때
if ( len(arr) == 1 ):
arr[-1] = arr[-1] * 2
# 아닐때
else:
arr[-1] = arr[-1] * 2
arr[-2] = arr[-2] * 2
# 옵션 처리 (샵)
elif ( dart[i] == '#'):
arr[-1] = -arr[-1]
answer = sum(arr)
return answer
3개월 전 초보시절에 3시간 넘게 끙끙대도 못풀었던 문제인데 20분만에 푼거 보니 실력이 늘긴 늘었나 보다.