프로그래머스. 다트게임 파이썬 풀이

minan·2021년 6월 24일
0

프로그래머스

목록 보기
41/92

프로그래머스. 2018 KAKAO BLIND RECRUITMENT. Level 1. 다트게임 파이썬 풀이

문제링크

허접한 풀이

def solution(dartResult):
    dartResult = list(dartResult)
    
    num = []

    
    for i in range(len(dartResult)-1):
        if dartResult[i].isdigit() and dartResult[i+1] == '0':
            num.append(int(dartResult[i] + dartResult[i+1]))
        elif dartResult[i].isdigit():
            if dartResult[i-1].isdigit():
                continue
            else:
                num.append(int(dartResult[i]))
                            
    index = 0  
    
    for i in range(len(dartResult)):
        target = 1
        bonus = 1
        if dartResult[i] == 'S':
            if i+1 < len(dartResult):            
                if dartResult[i+1] == '*':
                    bonus = 2
                elif dartResult[i+1] == '#':
                    bonus = -1
                else:
                    bonus = 1
                
            if index == 0 or bonus == -1:
                num[index] = num[index] * bonus
            else:
                num[index] = num[index] * bonus
                num[index-1] = num[index-1] * bonus
            
            index += 1
        
        elif dartResult[i] == 'D':
            if i+1 < len(dartResult):            
                if dartResult[i+1] == '*':
                    bonus = 2
                elif dartResult[i+1] == '#':
                    bonus = -1
                else:
                    bonus = 1
                
            if index == 0 or bonus == -1:
                num[index] = num[index]**2 * bonus
            else:
                num[index] = num[index]**2 * bonus
                num[index-1] = num[index-1] * bonus
            
            index += 1
            
        elif dartResult[i] == 'T':
            if i+1 < len(dartResult):            
                if dartResult[i+1] == '*':
                    bonus = 2
                elif dartResult[i+1] == '#':
                    bonus = -1
                else:
                    bonus = 1
                
            if index == 0 or bonus == -1:
                num[index] = num[index]**3 * bonus
            else:
                num[index] = num[index]**3 * bonus
                num[index-1] = num[index-1] * bonus

            index += 1
                       
            
    
    return sum(num)
profile
https://github.com/minhaaan

0개의 댓글