문제


세준이는 양수와 +, -, 그리고 괄호를 가지고 길이가 최대 50인 식을 만들었다. 그리고 나서 세준이는 괄호를 모두 지웠다.

그리고 나서 세준이는 괄호를 적절히 쳐서 이 식의 값을 최소로 만들려고 한다.

괄호를 적절히 쳐서 이 식의 값을 최소로 만드는 프로그램을 작성하시오.

 

입력


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

 

출력


첫째 줄에 정답을 출력한다.

 

예제 입력과 출력

 

 

알고리즘 분류


그리디 알고리즘

 

정답

 

a=input().split('-')
b=0

for i in a[0].split('+'):
    b=b+int(i)

for j in range(1,len(a)):
    for k in a[j].split('+'):
        b=b-int(k)
    
print(b)

* 식의 값을 최소로 만들기 위해서는 -뒤의 값을 크게 해서 -를 해줘야 합니다.

그래서 식을 입력받을때 -를 기준으로 나눠줍니다.

 


백준 알고리즘 1541번 : https://www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

 

+ Recent posts