빼기 기호가 처음으로 나온 다음부터는 그 다음 기호가 더하기든 빼기든 상관 없이 모든 수를 빼주면 된다. - 이후 다시 -가 나오기 전까지 나오는 +에 괄호를 쳐 주면 모두 뺄 수 있기 때문이다.
expString = input()
expString += ' '
i = 0
ans = 0
minus = False
expLength = len(expString)
while i < expLength:
if '0' <= expString[i] <= '9':
startIndex = i
while '0' <= expString[i] <= '9':
i += 1
endIndex = i
i -= 1
currentNum = int(expString[startIndex:endIndex])
if minus is True:
ans -= currentNum
else:
ans += currentNum
elif expString[i] == '-':
minus = True
i += 1
print(ans)
처음 입력받은 문자열에 공백 문자를 더해주는 이유는 다음 문자가 숫자가 아닐 때 까지 i를 증가시키는 부분에서 index out of range 에러가 나는 것을 방지하기 위함이다.
오랜만에 푸니까 재밌다. 한옥영 교수님의 자료구조 시간에 했던게 조금 도움이 됐을지도?..
제 괄호도 찾아주세요