문제링크 : www.acmicpc.net/problem/1541

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

연산자로는 -와 +밖에 없기 때문에 덧셈을 먼저 계산한 후 뺄셈을 계산하면 최대한 큰 수를 빼게되어서 최솟값이 나올 것이라 생각하였다.

import sys

ops = sys.stdin.readline().rstrip().split('-')

for i in range(len(ops)):
    if '+' in ops[i]:
        nums = list(map(int, ops[i].split('+')))
        sum = 0
        for num in nums:
            sum += num

        ops[i] = sum
    else:
        ops[i] = int(ops[i])

result = ops[0]
for i in range(1, len(ops)):
    result -= ops[i]

print(result)

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

[백준] 1932번 - 정수 삼각형  (0) 2021.01.02
[백준] 9461번 - 파도반 수열  (0) 2021.01.02
[백준] 1931번 - 회의실배정  (0) 2020.12.28
[백준] 1920번 - 수 찾기  (0) 2020.12.24
[백준] 10828번 - 스택  (0) 2020.12.23

+ Recent posts