일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 기사스크랩
- GA
- 벚꽃개화시기
- 니다
- 영화 올드 줄거리
- 데이터 분석
- 채용공고
- 얼음여왕
- 구글애널리틱스
- 데이터문해력
- ㅂㅂ
- 감사인사
- 코딩
- 알파줄거리
- 독서
- GA4
- 코오롱베네트
- 6시 기상
- 프로그래머스
- Google Analytics
- 벚꽃
- 티스토리
- 구글애널리틱스4
- 미라클 모닝
- Python
- 명상
- 수명예측 인공지능
Archives
- Today
- Total
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 |