[프로그래머스] 다트게임 (Python) : 2018 KAKAO BLIND RECRUITMENT

0

Problem Solving

목록 보기
8/49
post-thumbnail

문제

https://programmers.co.kr/learn/courses/30/lessons/17682

풀이

def solution(dartResult):
    # 10을 A로 바꿔줌
    dart = dartResult.replace('10','A')
    answer = []
    for i in dart:
        if i=='A' or i.isdigit(): # A이거나 숫자면
            answer.append(int(i) if i != 'A' else 10)
        elif i.isalpha(): #S,D,T일 경우
            answer[-1] **= {'S':1,'D':2,'T':3}[i]
        elif i == '#': # '#'일 경우 -1 곱함
            answer[-1] *= -1
        else: # '*' 일 경우 뒤에서부터 두개를 2배해서 다시 넣어줌
            temp = []
            temp.append(answer.pop()*2)
            if answer:
                temp.append(answer.pop()*2)
            answer.extend(temp[::-1])
    return sum(answer) # 합 출력

0개의 댓글