본문 바로가기
알고리즘/프로그래머스

[Python] 다트 게임

by 컴공맨 2021. 3. 7.
 

코딩테스트 연습 - [1차] 다트 게임

 

programmers.co.kr


풀이

문자열을 파싱하여 문제에 주어진 조건에 맞게 처리하였습니다. 이때, 숫자는 두자리 이상의 수가 올 수 있기때문에 주의해야합니다.

마지막으로 처리된 수를 list 자료형인 score에 저장하여 score 값을 모두 더해주어 해결했습니다.


코드

def solution(dartResult):
    answer = 0

    score = []
    num = ""
    for c in dartResult:
        if c.isdigit():
            num += c
        elif c == '*':
            score[-1] *= 2

            if len(score) >= 2:
                score[-2] *= 2
        elif c == '#':
            score[-1] *= -1
        else:
            score.append(int(num))
            num = ""

            if c == 'D':
                score[-1] = score[-1] ** 2
            elif c == 'T':
                score[-1] = score[-1] ** 3

    answer = sum(score)

    return answer

 

pyo7410/Algorithm

1일 1커밋을 목표로! Contribute to pyo7410/Algorithm development by creating an account on GitHub.

github.com

 

'알고리즘 > 프로그래머스' 카테고리의 다른 글

[Python] 메뉴 리뉴얼  (0) 2021.03.15
[Python] 문자열 압축  (0) 2021.03.14
[Python] 실패율  (0) 2021.03.06
[Python] 비밀지도  (0) 2021.02.28
[Python] 키패드 누르기  (0) 2021.02.27