본문 바로가기
백준 알고리즘(BOJ)

백준 알고리즘 1541 (잃어버린 괄호) - python

by Think_why 2022. 7. 8.

백준 알고리즘 1541 (잃어버린 괄호) - python

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

 

1541번: 잃어버린 괄호

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

www.acmicpc.net

'+'와 '-', 그리고 숫자로만 이루어져 있는 수식을 최소값으로 만드는 문제


[문제 풀이]

1. '-'가 나온 후로는 다시 '-'가 나오기 전까지 괄호를 치는 것이 최소값이 된다.
    - 먼저 '-'를 기준으로 split
    - 첫 idx는 무조건 양수일 수 밖에 없음 (값+)
    - 그 이후의 idx는 각 요소들을 더하여 빼줌 (값-) 
2. 문자를 int()로 변환하며 계산하여 최종 합산 출력

 

import sys
# '-'를 기준으로 분할
equations = sys.stdin.readline().rstrip().split('-')
_sum = 0
# idx = 0일 때를 제외하고는 뺄셈
for idx, equation in enumerate(equations):
    # '+'를 기준으로 분할
    for i in equation.split('+'):
        if idx == 0:
            _sum += int(i)
        else:
            _sum -= int(i)
print(_sum)
728x90

댓글