https://www.acmicpc.net/problem/1541
콜렉트콜이 생각나는 문제 번호다. 홀홀 👵🏻
"1-2+3+4-5+2"
다음과 같은 문자열이 주어졌을 때,
값을 최소로 만들기 위해선 계속 빼면 된다.
"1-(2+3+4)-(5+2)"
-
를 기준으로 문자열을 나누어준 뒤,
다시 +
를 기준으로 문자열을 나눠서 합을 구해줬다.
sub1 = list(order.rsplit('-'))
for row in sub1:
sub2 = list(map(int,''.join(row).rsplit('+')))
"1-9-7"
그리고 빼주면 된다.
temp = 0
first = True
for row in sub1:
sub2 = list(map(int,''.join(row).rsplit('+')))
# 첫번째 요소만 temp에 더해주고, 나머지는 빼주자
if first:
first = False
temp = sum(sub2)
else:
temp -= sum(sub2)
import sys
input = sys.stdin.readline
order = input().rstrip()
sub1 = list(order.rsplit('-'))
temp = 0
first = True
for row in sub1:
sub2 = list(map(int,''.join(row).rsplit('+')))
if first:
first = False
temp = sum(sub2)
else:
temp -= sum(sub2)
print(temp)