제일 작은 결과가 나오게 해야하므로 처음 -가 나온 뒤는 다 빼주면 된다
- 숫자와 기호를 정규식으로 분리 (re 사용)
- 마이너스 기호 인덱스 찾기
- 마이너스 앞이면 더하고 뒤면 뺌. 없으면 다 더하기
import sys
import re
input = sys.stdin.readline
_input = input().rstrip()
num_list = list(map(int, re.split(r'[\+-]',_input)))
oper_list = list(filter(None, re.split(r'[\d]*',_input)))
# 마이너스 인덱스 구하기
minus_idx = -1
for i in range(len(oper_list)):
if oper_list[i] == '-':
minus_idx = i
break
answer = num_list[0]
for i in range(1, len(num_list)):
if i <= minus_idx or minus_idx == -1:
answer += num_list[i]
else:
answer -= num_list[i]
print(answer)
'개발 > 알고리즘' 카테고리의 다른 글
[백준 1931] 회의실 배정 (python) (1) | 2021.03.18 |
---|---|
[백준 11723] 집합 (python) (0) | 2021.03.18 |
[백준 1074] Z (python) (0) | 2021.03.17 |
[백준 14888] 연산자 끼워넣기 (python) (0) | 2021.03.17 |
[백준 17144] 미세먼지 안녕! (python) (0) | 2021.03.17 |
최근댓글