알고리즘/백준 문제풀이

[백준] 1541 잃어버린 괄호 파이썬 풀이 (그리디)

자바칩 프라푸치노 2021. 6. 24. 14:43

문제

주어진 식에 괄호를 적절히 쳐서 식의 값을 최소로 만들어라

 

문제 풀이

처음에 55-50+40을 보고 그냥 +를 다 마이너스로 바꾸면 되지 않을까라고 생각했다.

그런데 55+50+40-30+20+10 이면

40 뒤에부터 -로 바꿔야하기 때문에

  • 일단 -를 기준으로 입력값을 split하여 배열에 넣는다.
  • 그리고 첫번째로 들어가 있는 값에서 그 뒤의 모든 값을 빼준다

 

코드


# ------------------------------
arr = input().split('-') 
# print(arr)
result = 0
for i in arr[0].split('+'):
    result += int(i)
for i in arr[1:]:
    for j in i.split('+'):
        result -= int(j)

print(result)

# 1+2+3-1인 경우

728x90