SMALL
def solution(my_string):
answer = 0
operator = '+'
for index, value in enumerate(my_string.split(' ')):
if index % 2 == 1:
operator = '+' if value == '+' else '-'
else:
if operator == '+':
answer += int(value)
else:
answer -= int(value)
return answer
string 형태로 된 연산식을 계산하는 문제이다.
먼저 operator는 '+'로 지정해주었다.
my_string.split(' ') 공백으로 분할한 배열을 enumerate() 함수를 통해 index와 value 값으로 접근하도록 하여 반복문을 실행한다.
연산자의 경우 숫자의 사이 사이에 들어갈 수 있으므로 1, 3, 5 ,,, 번째 index에 있을 것이므로 operator를 정의한다.
operator 가 + 일 경우에는 answer 에 int로 형변환한 값을 더해주고
operator 가 - 일 경우에는 answer에 int로 형변환한 값을 빼주었다.
operator를 '+' 로 정의한 이유는 0번째에 있는 수를 answer 값에 더해주기 위해 초기값을 '+'로 설정하였다.
LIST
'develop > Python' 카테고리의 다른 글
[파이썬/프로그래머스] 중복된 문자 제거 (1) | 2023.03.23 |
---|---|
[프로그래머스/파이썬] 합성수 찾기 (0) | 2023.03.23 |
[프로그래머스/파이썬] 숫자 찾기 (0) | 2023.03.22 |
[프로그래머스/파이썬] 약수 구하기 (1) | 2023.03.22 |
[프로그래머스/파이썬] 369게임 (0) | 2023.03.22 |