식의 값을 최소로 만드는 방법은 처음으로 -가 나왔을 때, 그 - 뒤의 값은 모두 빼는 것이다. 

 

따라서 입력을 받은 수식에서 첫 번째 -가 몇 번째 인덱스에 존재하는지를 찾고, 그 인덱스를 기준으로 앞의 값은 A, 뒤의 값은 B라고 하자. 

 

그러면 A-B가 수식에서 나올 수 있는 최소 값이 된다. 만약 -이 없다면 식에서 숫자 값들만 추출해준 뒤 그 값들을 모두 더해주면 된다. 

 

풀이

import sys
input = sys.stdin.readline

commands = input()
if commands.find("-") == -1:
    nums = list(map(int, commands.split("+")))
    print(sum(nums))
else:
    index = commands.find("-")
    a = commands[:index]
    b = commands[(index+1):]
    sum_a = sum(list(map(int, a.split("+"))))
    sum_b = sum(list(map(int, b.replace("+", "-").split("-"))))
    print(sum_a-sum_b)

+ Recent posts