괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.
-가 한번이라도 나온다면 그 다음 부터 어떤 기호가 들어오던 다 - 를 할 수 있다. 따라서 필자는 -오기 전과 후로 나누어 그 전에는 plus 배열, 그후에는 minus 배열에 넣어 계산하였다.
k = str(input())
plus = []
minus = []
flag = True
for i in range(len(k)):
if k[i] == '-': # -가 등장 시 flag 변수는 False로 바뀐다.
flag = False
if flag == True:
plus.append(k[i])
elif flag == False:
minus.append(k[i])
c = 0
sum1 = 0 # plus에 있는 값들의 합
sum2 = 0 # minus에 있는 값들의 합
# plus
for i in range(len(plus)-1,-1,-1): # 뒤에서 부터 계산
if plus[i] == '+' or plus[i] == '-':
c = 0 # 부호 나올 시 자리 수 초기화
else:
sum1 += int(plus[i]) * pow(10,c) # 숫자가 연속해서 등장 시 자리 수 증가
c += 1
c = 0
# minus
for i in range(len(minus)-1,-1,-1):
if minus[i] == '+' or minus[i] == '-':
c = 0
else:
sum2 += int(minus[i]) * pow(10,c)
c += 1
print(sum1 - sum2)