본문 바로가기

# Coding/# 백준

[백준 / 1541] 잃어버린 괄호 - Python

728x90
반응형

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

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

 

<풀이> 

가장 작은식을 만들기 위해서는 빼는 값을 최대로 만들어야 한다.

즉, -가 나오면 괄호로 묶어버리고, +가 나오면 더해주면 된다.

 

<전체 코드>

line = list(map(str, input()))
expression = ''
idx = 0
bracket = False
temp = ''
for l in line:
    if l == '+':
        expression += str(int(temp))+'+'
        temp = ''
    elif l == '-':
        expression += str(int(temp))
        temp = ''
        if bracket:
            expression += ')'
        expression += '-('
        bracket = True
    else:
        temp += l
expression += str(int(temp))
if bracket:
    expression += ')'
print(eval(expression))
728x90
반응형