프로그래밍 공부방

[프로그래머스] 2018 KAKAO BLIND RECRUITMENT_다트 게임 본문

프로그래밍/프로그래머스

[프로그래머스] 2018 KAKAO BLIND RECRUITMENT_다트 게임

김갱갱 2022. 6. 18. 02:32
def solution(dartResult):
    answer = []
    dartResult_set_list = []

    for i in range(len(dartResult)):
        if (dartResult[i].isdigit() == True and dartResult[i-1].isdigit() == True):
            dartResult_set_list[-1] += dartResult[i]
        else:
            dartResult_set_list.append(dartResult[i])


    for i in range(len(dartResult_set_list)):
        if (dartResult_set_list[i] == "S"):
            answer.append(pow(int(dartResult_set_list[i-1]), 1))
        elif (dartResult_set_list[i] == "D"):
            answer.append(pow(int(dartResult_set_list[i-1]), 2))
        elif (dartResult_set_list[i] == "T"):
            answer.append(pow(int(dartResult_set_list[i-1]), 3))
        elif (dartResult_set_list[i] == "*"):
            if (len(answer) > 1):
                answer[-1] = answer[-1] * 2
                answer[-2] = answer[-2] * 2
            else:
                answer[-1] = answer[-1] * 2
        elif (dartResult_set_list[i] == "#"):
            answer[-1] = answer[-1] * -1
        else: # 숫자일 때
            continue

    answer = sum(answer)

    return answer