📖 문제
https://programmers.co.kr/learn/courses/30/lessons/17682
💻 코드
import re
def solution(dartResult):
nums = list(map(int, re.findall(r'\d+', dartResult)))
ni = 0
for i, c in enumerate(dartResult):
if c in ('S', 'D', 'T'):
if c == 'D':
nums[ni] **= 2
if c == 'T':
nums[ni] **= 3
if i + 1 < len(dartResult):
if dartResult[i + 1] == '*':
if ni > 0:
nums[ni - 1] *= 2
nums[ni] *= 2
if dartResult[i + 1] == '#':
nums[ni] = -nums[ni]
ni += 1
return sum(nums)
🙌 한마디
구현 문제였고, 문자열로부터 숫자를 추출할 때 정규표현식(re)을 사용했다.
'Problem Solving > 📕Programmers' 카테고리의 다른 글
[Programmers] 압축 (Python) (0) | 2021.10.18 |
---|---|
[Programmers] 2주차_상호평가 (Python) (0) | 2021.10.14 |
[Programmers] 징검다리 건너기 (Python) (0) | 2021.10.12 |
[Programmers] 불량 사용자 (Python) (0) | 2021.10.11 |
[Programmers] 비밀지도 (Python) (0) | 2021.10.10 |