https://school.programmers.co.kr/learn/courses/30/lessons/17682
0~10의 정수와 문자 S, D, T, *, #로 구성된 문자열이 입력될 시 총점수를 반환하는 함수를 구하는 문제
(입력 및 선언)
(다트 점수 저장하기)
(보너스 계산하기)
(옵션 계산하기)
(최종 점수 출력하기)
def solution(dartResult):
answer = 0
dartResult = dartResult.replace('10', 'A')
cnt = 0
now = 0
arr = []
for i in dartResult:
if i.isdigit():
cnt = int(i)
if i == 'A':
cnt = 10
if i == 'S':
now = cnt ** 1
arr.append(now)
elif i == 'D':
now = cnt ** 2
arr.append(now)
elif i == 'T':
now = cnt ** 3
arr.append(now)
if i == '*':
arr[-1] *= 2
if len(arr) > 1:
arr[-2] *= 2
elif i == '#':
arr[-1] = -arr[-1]
answer = sum(arr)
return answer
정답률이 낮지 않은 문제였는데 엄청 오래 걸렸다.
근데 다 풀고 보니 왜 오래 걸렸지라는 생각이 들었다.
진짜 왜 오래 걸렸지..