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 |