import sys
input = sys.stdin.readline
a = input()
plus = 0
minus = 0
strnumber = ''
ch = 0
for i in range(len(a) + 1):
if i == len(a) - 1:
if ch == 0:
plus += int(strnumber)
break
else:
minus += int(strnumber)
break
if a[i] == '+':
if ch == 0:
plus += int(strnumber)
strnumber = ''
else:
minus += int(strnumber)
strnumber = ''
elif a[i] == '-':
if ch == 0:
ch = 1
plus += int(strnumber)
strnumber = ''
else:
minus += int(strnumber)
strnumber = ''
elif a[i] != '+' and a[i] != '-':
strnumber += a[i]
print(plus - minus)
접근한 방법은 처음 '-' 가 나오기 전까지는 다 더하고 그 이후에는 다 빼면 되는 것이다.
예를 들어보면 10+20-30+20+30-20+30-20+30 이라고치면 괄호를
10+20-(30+20+30)-(20+30)-(20+30) 이렇게 만들면 된다.
즉 마이너스가 한번 나오면 뒤에는 전부 뺄수있는 숫자가 된다
그래서 ch는 -가 한번이라도 나왔는지 체크하기위한 변수이다
ch가 0이면 계속 더하고 ch가 1이면 계속 빼는 것이다.
그래서 조건문으로 -가 처음나왔을때 ch가 0이기때문에 처음 - 바로앞에 숫자는
plus 해주고 뒤에부터는 - 가 나와도 앞에 숫자를 minus에 값을 넣었다.
접근은 했는데 파싱부분에서 시간을 쓰고 조건을 어떻게 해야할지 구상하느라 푸는 시간이 좀 오래 걸렸던것 같다.
하드코딩을 한것같은데 파이썬 문법을 잘 몰라서 그냥 무식하게 조건을 넣었다..