Python/백준

1541_잃어버린 괄호

728x90

문제는 더보기!

 

더보기

잃어버린 괄호 

시간 제한메모리 제한제출정답맞힌 사람정답 비율
2 초 128 MB 38590 18653 15030 48.261%

문제

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

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

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

입력

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

출력

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

예제 입력 1 복사

55-50+40

예제 출력 1 복사

-35

예제 입력 2 복사

10+20+30+40

예제 출력 2 복사

100

예제 입력 3 복사

00009-00009

예제 출력 3 복사

0

 

 

괄호의 제한이 없기때문에 -가 하나도없다면 더하는거지만, -가 처음 나온시점부터는 다 -로계산하는 문제로 생각하고 풀면 된다!

 

import re
lst =[]

n = input()
num_lst = re.split('[+-]',n)

for i in n:
    if i== '-' or i == '+':
        lst.append(i)

pm = '+'
for i in range(len(lst)):
    if lst[i] == '-':
        pm = '-'
    lst[i] = pm

result = int(num_lst[0])
for i in range(len(lst)):
    if lst[i] == '+':
        result += int(num_lst[i+1])
    else:
        result -= int(num_lst[i+1])


print(result)
728x90

'Python > 백준' 카테고리의 다른 글

5086_배수와약수  (0) 2022.01.15
13305_주유소  (0) 2022.01.13
11399_ATM  (0) 2022.01.11
1931_회의실 배정...반례?  (0) 2022.01.10
11047_동전0  (0) 2022.01.09