본문 바로가기
코딩테스트 연습

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

by 부자독개 2020. 12. 28.
반응형
def solution(dartResult):
    answer = []
    
    dartResult = dartResult.replace('10','X')
    point = ['10' if i == 'X' else i for i in dartResult]
    # print(point)
    SDT = ["S","D","T"]
    for i in point:
        if i in SDT:
            answer[-1] = answer[-1]**(SDT.index(i)+1)
        elif i == "*":
            answer[-1] *= 2
            if len(answer) > 1 :
                answer[-2] *= 2
        elif i == "#":
            answer[-1] *= -1
        else:
            answer.append(int(i))
        print(answer)
    return sum(answer)

못풀었다.. 쉣..

 

다른사람의 코드를 찾아보았고 꽤 많은 사람들이

re 라는 라이브러리를 쓰던데 내일은 그걸 가지고 풀어봐야겠다.

 

'10'이라는 두자리 숫자의 문자열을 어떻게 다룰지 고민하다가 15분이 지나길래 풀이를 봤는데..

문자열의 replace를 보고 눈이 번쩍,, 정말 기발한 생각을 해내는 사람들이 많다.

 

그 이후로는 풀이를 한번 봐서 그런지 막힘없이 풀 수 있었다. 

 

반응형

댓글