[9/11] 다트 게임
레벨1 문제
내 코드
def solution(dart):
arr = []
for i in range(len(dart)):
# 숫자 처리
if ( dart[i].isdigit() ):
if ( dart[i] == '0' and dart[i-1].isdigit()):
arr[-1] = arr[-1] + dart[i]
else:
arr.append(dart[i])
# 문자 처리
elif ( dart[i].isalpha() ):
if ( dart[i] == 'S' ):
arr[-1] = int(arr[-1])
elif ( dart[i] == 'D' ):
arr[-1] = int(arr[-1]) ** 2
elif ( dart[i] == 'T' ):
arr[-1] = int(arr[-1]) ** 3
# 옵션 처리 (별)
elif ( dart[i] == '*'):
# 스타상이 첫번째에 나왔을때
if ( len(arr) == 1 ):
arr[-1] = arr[-1] * 2
# 아닐때
else:
arr[-1] = arr[-1] * 2
arr[-2] = arr[-2] * 2
# 옵션 처리 (샵)
elif ( dart[i] == '#'):
arr[-1] = -arr[-1]
answer = sum(arr)
return answer
로직
- 시키는대로 풀었다.
- 문자열을 하나하나 세부적으로 풀었다.
3개월 전 초보시절에 3시간 넘게 끙끙대도 못풀었던 문제인데 20분만에 푼거 보니 실력이 늘긴 늘었나 보다.
Author And Source
이 문제에 관하여([9/11] 다트 게임), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kj313903/911-다트-게임저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)