배고픈 개발자 이야기

[2018 kakao blind] 다트게임 본문

알고리즘 문제/PROGRAMMERS

[2018 kakao blind] 다트게임

이융희 2021. 8. 1. 16:34
728x90

규칙이 귀찮지만 어렵진 않음

def solution(dartResult):
    i, idx, length = 0, 0, len(dartResult)
    score = []
    
    while idx < length:
        temp_score = 0
        if dartResult[idx+1] == "0" and dartResult[idx] =="1":
            temp_score = 10
            idx += 1
        else:
            temp_score = int(dartResult[idx])
        if dartResult[idx+1] == "S":
            temp_score = int(temp_score) ** 1
        if dartResult[idx+1] == "D":
            temp_score = int(temp_score) ** 2
        if dartResult[idx+1] == "T":
            temp_score = int(temp_score) ** 3
    
        score.append(temp_score)
        if idx + 2 >= length:
          break
        if dartResult[idx+2] in ["*", "#"]:
            if dartResult[idx+2] == "*":             
                score[i] = score[i] * 2
                if i != 0:
                    score[i-1] = score[i-1] * 2
            else:
                score[i] = score[i] * -1
            idx += 1
        idx += 2
        i += 1
    
    return sum(score)
Comments