728x90
https://programmers.co.kr/learn/courses/30/lessons/17682
부스트캠프 코테대비로 풀어본 문제
그냥 그대로 구현만 해주면된다.
다만 10점의 경우 1,0 따로따로 탐색하는 경우가 생길수있다.
이를 방지하기 위해 replace함수를 이용해 문자열 Q로 바꿔주었다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
def solution(dartResult):
answer = []
dartResult = dartResult.replace("10", 'Q')
for i in range(len(dartResult)):
if dartResult[i].isdigit():
answer.append(int(dartResult[i]))
elif dartResult[i].isalpha():
if dartResult[i] == 'D':
answer[-1] = answer[-1] ** 2
elif dartResult[i] == 'T':
answer[-1] = answer[-1] ** 3
elif dartResult[i] == 'Q':
answer.append(10)
else:
if dartResult[i] == "*":
answer[-1] = answer[-1] * 2
if len(answer) > 1:
answer[-2] = answer[-2] * 2
elif dartResult[i] == '#':
answer[-1] = answer[-1] * (-1)
return sum(answer)
|
cs |
728x90
'PS > 프로그래머스' 카테고리의 다른 글
[프로그래머스 LV 2] 후보키 (파이썬/python) (0) | 2021.06.30 |
---|---|
[프로그래머스 LV 3] 경주로 건설 (파이썬/python) (0) | 2021.06.23 |
[프로그래머스 LV 1 ] 비밀지도 (파이썬/python) (0) | 2021.06.23 |
[프로그래머스 LV 1] 실패율 (파이썬/python) (0) | 2021.06.23 |
[프로그래머스 LV 3] 셔틀버스 (파이썬/python) (0) | 2021.06.23 |