https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
풀이
복잡하게 생각할 거 없이, 괄호는 무한정 칠 수 있으므로,
첫 '-' 뒤에 나오는 숫자를 모두 빼면 된다.
문자열 처리만 잘 해주면 됨.
s = input()
buffer = '0'
result = 0
isMinus = False
'''마지막 숫자의 연산 처리를 위해 전체 문자열 맨 뒤에 연산자 하나 넣어줌'''
s += '+'
for i in s:
if isMinus:
if i == '-' or i == '+':
result -= int(buffer)
buffer = '0'
else:
'''문자열 합치기'''
buffer += i
else:
if i == '-' or i == '+':
result += int(buffer)
buffer = '0'
if i == '-':
isMinus = True
else:
'''문자열 합치기'''
buffer += i
print(result)