반응형
- 문제
https://school.programmers.co.kr/learn/courses/30/lessons/17682?language=python3
- 풀이
def solution(dartResult):
aList = []
for x in dartResult:
aList.append(x)
a1 = []
for x in range(1, len(aList)):
if aList[x] == 'S':
if aList[x - 1] == '0':
if aList[x - 2] == '1':
aList[x - 1] = '10'
else:
aList[x - 1] = '0'
a1.append(int(aList[x - 1]) ** 1)
elif aList[x] == 'D':
if aList[x - 1] == '0':
if aList[x - 2] == '1':
aList[x - 1] = '10'
else:
aList[x - 1] = '0'
a1.append(int(aList[x - 1]) ** 2)
elif aList[x] == 'T':
if aList[x - 1] == '0':
if aList[x - 2] == '1':
aList[x - 1] = '10'
else:
aList[x - 1] = '0'
a1.append(int(aList[x - 1]) ** 3)
elif aList[x] == '*':
if len(a1) >= 2:
num = a1[-1] * 2
num2 = a1[-2] * 2
a1.pop()
a1.pop()
a1.append(num2)
a1.append(num)
if len(a1) < 2:
num3 = a1[-1] * 2
a1.pop()
a1.append(num3)
elif aList[x] == '#':
num4 = a1[-1] * (-1)
a1.pop()
a1.append(num4)
return sum(a1)
왜 시간초과 안 뜨고 정답처리되는진 모르겠지만 중복된 코드 많아서 맘에 안 든다 힝
담에 다시 풀어봐야겠다
반응형
'코딩 테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 - Python/JavaScript] Lv.1 폰켓몬 (0) | 2023.02.07 |
---|---|
[프로그래머스 - Python/JavaScript] Lv.1 숫자 문자열과 영단어 (0) | 2023.02.07 |
[프로그래머스 - Python/JavaScript/Java] Lv.1 예산 (0) | 2023.02.07 |
[프로그래머스 - Python] Lv.1 신고 결과 받기 (0) | 2023.02.07 |
[프로그래머스 - Python] Lv.1 크레인 인형뽑기 게임 (0) | 2023.02.03 |