Data Analyst KIM
[프로그래머스Lv.1] 다트 게임 - 파이썬 본문
반응형
<문제 접근 방식>
1. dartResult를 리스트로 변환시키고 숫자와 숫자가 아닌 것을 분리하고자 했다.
2. 0~10인데 10은 두자리 수를 가지므로 조건문을 이용하여 처리를 해야겠다고 생각했다.
3. 조건에 맞게 분리를 해서 일단 list에 저장했다.
4. 리스트에서 문제의 규칙을 따라서 순차적으로 작업했다.
def solution(dartResult):
answer = []
score = []
list_dart = list(dartResult)
for i in range(len(list_dart)):
if list_dart[i] == "1" and list_dart[i+1] =="0" :
score.append('10')
elif list_dart[i] == "0" and list_dart[i-1] =="1" :
pass
else :
score.append(list_dart[i])
for i in range(1,len(score)):
if score[i] == 'S' :
answer.append(int(score[i-1]))
elif score[i] == 'D' :
answer.append(int(score[i-1])**2)
elif score[i] == 'T' :
answer.append(int(score[i-1])**3)
elif score[i] == '*' :
if len(answer) >= 2:
answer[-1] *= 2
answer[-2] *= 2
else :
answer[-1] *= 2
elif score[i] == '#' :
answer[-1] *= -1
return sum(answer)
반응형
'데이터 분석 > Coding Test' 카테고리의 다른 글
[프로그래머스Lv.1] 과일 장수 - 파이썬 (0) | 2023.07.20 |
---|---|
[Coding Club] 23.07.14 (0) | 2023.07.15 |
[프로그래머스Lv.1] 덧칠하기(파이썬) (0) | 2023.07.13 |
[Coding Club] 23.07.07 (0) | 2023.07.07 |
[프로그래머스Lv.1] 카드 뭉치 - 파이썬 (0) | 2023.07.06 |