일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 알파줄거리
- 니다
- Python
- 구글애널리틱스4
- 영화 올드 줄거리
- 6시 기상
- GA
- 얼음여왕
- 코딩
- 감사인사
- 미라클 모닝
- ㅂㅂ
- 벚꽃
- 벚꽃개화시기
- 채용공고
- 수명예측 인공지능
- 코오롱베네트
- 명상
- 데이터문해력
- Google Analytics
- 티스토리
- 독서
- GA4
- 기사스크랩
- 데이터 분석
- 프로그래머스
- 구글애널리틱스
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] 콜라 문제(Python) (0) | 2023.08.10 |
---|---|
[프로그래머스Lv.1] 과일 장수 - 파이썬 (0) | 2023.07.20 |
[프로그래머스Lv.1] 덧칠하기(파이썬) (0) | 2023.07.13 |
[프로그래머스Lv.1] 카드 뭉치 - 파이썬 (0) | 2023.07.06 |
[프로그래머스Lv.1] 대충 만든 자판 - 파이썬 (0) | 2023.07.06 |