-코드
def solution(dartResult):
answer = []
num = ''
for i in dartResult:
if i.isdigit():
num += i
elif i == 'S':
answer.append(int(num) ** 1)
num = ''
elif i == 'D':
answer.append(int(num) ** 2)
num = ''
elif i == 'T':
answer.append(int(num) ** 3)
num = ''
elif i == '*':
if len(answer) > 1:
answer[-1] = answer[-1] * 2
answer[-2] = answer[-2] * 2
else:
answer[-1] = answer[-1] * 2
elif i == '#':
answer[-1] = answer[-1] * -1
return sum(answer)
처음에 num을 int형으로 두고 숫자일 경우를 받아서 쓰니 숫자가 10 이상이 나왔을 경우 문제가 생겨서 찾아보니 문자열 형태로 받아서 int형을 취해주는 방법으로 해결을 하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[프로그래머스/파이썬] 내적 (0) | 2022.01.09 |
---|---|
[백준/파이썬] 13300번 방 배정 (0) | 2022.01.09 |
[프로그래머스/파이썬] 최소직사각형 (0) | 2022.01.08 |
[백준/파이썬] 1145번 적어도 대부분의 배수 (0) | 2022.01.08 |
[백준/파이썬] 11478번 서로 다른 부분 문자열의 개수 (0) | 2022.01.07 |