코딩테스트/백준

[Python] BOJ 1541 - 잃어버린 괄호

Ssubini 2022. 4. 13. 22:56

https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

첫째 줄에 식이 주어진다. 식은 ‘0’~‘9’, ‘+’, 그리고 ‘-’만으로 이루어져 있고, 가장 처음과 마지막 문자는 숫자이다. 그리고 연속해서 두 개 이상의 연산자가 나타나지 않고, 5자리보다

www.acmicpc.net

[2022.02.13]

 

> 풀이 방법

괄호를 쳐서 식의 계산 값이 최소가 되게 하려면 '-' 가 나왔을 때 다음 '-' 가 나오기 전 까지 모든 숫자들을 더해주어 가장 큰 값을 뺄 수 있게 만들어준다.

s = input()
slist = s.split('-')
answer = 0
for k in range(len(slist)):
    tmp = ''
    ta = 0
    for i in slist[k] :
        if i != '+':
            tmp += i
        else:
            ta += int(tmp)
            tmp = ''
    ta += int(tmp)
    if k == 0 :
        answer += ta
    else:
        answer -= ta

print(answer)