게시물을 작성하면서 복습하는 문제를 선정하는 기준은<solved.ac 티어 실버 2 (Silver 2) 이상>입니다.
※ 본 사진과 해당 게시글 내용의 문제 모두 백준 : 온라인 저지[Baekjoon_OnlineJudge]사이트에서 발췌해왔습니다.
백준 온라인 저지 (Baekjoon Online Judge) : 1541 잃어버린 괄호
메모리 : 30864KB
시간 : 72ms
값을 가장 최소로 만들기 위해서는
" 첫 값이 가장 작아야하고 나머지 뒤에 있는 값들을 가능한한 최대로 합한 후 (괄호가 필요한 부분) 빼줘야 한다. "
그러기 위해서는
우선 -
뺄셈기호를 기준으로 식을 나눠주고
시작 값이 될 첫 번째로 분리된 값을 계산해준다.
그 이후, 뒤에 있는 뺄셈 기호로 분리된 덧셈들을 계산해 ( s
)
시작 값에서 빼준다.
import sys
ex = list(sys.stdin.readline().rstrip().split('-'))
start = 0
for s in ex[0].split('+') :
start += int(s)
for i in range(1, len(ex)) :
s = 0
nums = ex[i].split('+')
for n in nums :
s += int(n)
start -= s
print(start)