문제
https://school.programmers.co.kr/learn/courses/30/lessons/120902
설계
def solution(my_string):
cal, index = [], -2 # 빈칸(' ') 처리를 위해 index 2단위 설정
# 숫자 및 연산자 파싱
for i in range(len(my_string)):
if my_string[i] == '+':
cal.append(int(my_string[index + 2:i - 1]))
cal.append('+')
index = i
elif my_string[i] == '-' and my_string[i + 1] == ' ': # 음수의 - 와 연산자 - 구분
cal.append(int(my_string[index + 2:i - 1]))
cal.append('-')
index = i
cal.append(int(my_string[index + 2:])) # 추가하지 못한 남은 숫자 추가
# 연산하기
answer = int(cal[0])
for i in range(1, len(cal), 2):
if cal[i] == '+':
answer += int(cal[i + 1])
elif cal[i] == '-':
answer -= int(cal[i + 1])
return answer
'PS (Problem Solving) > Programmers' 카테고리의 다른 글
[프로그래머스] 옹알이 (1) - 파이썬 (0) | 2023.01.22 |
---|---|
[프로그래머스] 배열의 유사도 - 파이썬 (0) | 2023.01.22 |
[프로그래머스] 문자열 뒤집기 - 파이썬, 자바스크립트 (0) | 2023.01.21 |
[프로그래머스] 삼각형의 완성조건 (1) - 파이썬 (0) | 2023.01.21 |
[프로그래머스] 최댓값 만들기 (1) - 파이썬, 자바스크립트 (0) | 2023.01.21 |