Coding Test
[백준] 잃어버린 괄호
상상쓰
2021. 6. 5. 08:21
https://www.acmicpc.net/problem/1541
1541번: 잃어버린 괄호
첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다
www.acmicpc.net
입력 문자열 s 에서 '-' 가 처음 등장하면 그 뒤로는 연산을 전부 '-' 로 하면 된다.
1+2-3+4+5+6-7-8+9 > 1+2-(3+4+5+6)-7-(8+9) = 1+2-3-4-5-6-7-8-9
eval 함수를 쓰는데 0 으로 시작하는 수가 올 수 있으므로 01+2 에서는 런타임 오류가 발생한다.
s = input()
temp = ''
answer = ''
c = 0
for i in s:
if not i in ['+', '-']:
temp = temp + i
else:
answer = answer + str(int(temp))
temp = ''
if c == 0:
answer = answer + i
else:
answer = answer + '-'
if c == 0 and i == '-':
c = 1
answer = answer + str(int(temp))
print(eval(answer))