본문 바로가기

PS/백준

[백준 1541번] 잃어버린 괄호 (파이썬/python)

728x90

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

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

그리디 알고리즘으로 접근하면 좋은 문제

최소값을 출력해야하기 때문에 +연산을 먼저 다 진행해준다.

그 후 -연산을 수행하면 깔끔하게 최소값으로 출력된다.

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
import sys
 
input
sys.stdin.readline
 
str1 = input()
# - 단위로 쪼개줌
str1 = str1.split('-')
for i in range(len(str1)):
    # +가 있으면 +연산 먼저 처리해줌
    if "+" in str1[i]:
        c = str1[i].split("+")
        sum1 = 0
        for a in c:
            sum1 += int(a)
        str1[i] = str(sum1)
        
 
sum1 = int(str1[0])
for i in range(1len(str1)):
    sum1 -= int(str1[i])
print(sum1)
 
cs

 

728x90