주어진 식의 괄호를 써서 값을 최소로 만드는 문제이다.
import sys
def calc( s ):
arr = s.split("+")
result = 0
for i in arr:
result += int(i)
return result
input = sys.stdin.readline()
data = input.split("-")
index = 0
answer = 0
while(index < len(data)):
if(index == 0):
answer += calc(data[index])
else:
answer -= calc(data[index])
index += 1
print(answer)
주어진 식의 값이 최소이다 == (-가 최대로 들어간다)
즉 +면 그냥 더하고 -를 만나면 -를 만나기 전까지 모두 빼주면 되는 문제이다.
풀이 과정
1. 주어진식을 (-)를 기준으로 나눈다.
2. 20+20, -30+20, -90 이런식으로 나누어진 식을 계산하는데
-로 시작한 식은 값을 더하는게 아니라 빼준다.
40 + (-50) + (-90)