코딩테스트 대비/BOJ

[Baekjoon/Python] 1541번: 잃어버린 괄호 - 효과는 굉장했다!

bluetag_boy 2021. 11. 18. 20:37
반응형
 

1541번: 잃어버린 괄호

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

www.acmicpc.net

 

알고리즘 분류

  • 수학
  • 문자열
  • 그리디 알고리즘
  • 파싱

 

 

SOLUTION

import sys

s = sys.stdin.readline().rstrip().split('-') # -를 기준으로 나눠서 리스트화
ans = 0

 # -를 기준으로 안나눠진다는 것은 + 식이므로 +를 기준으로 나눠서 더해줌
for i in s[0].split('+'): 
    ans += int(i)

for i in s[1:]: 
    for j in i.split('+'): # +가 있다고 더해주는 것이 아니라 괄호가 있다고 생각하고 전부 빼줘야 함
        ans -= int(j)

print(ans)