728x90
추가 예제) 55-50+40-20 = -55
import sys
equation = sys.stdin.readline().split('-') #1
res = 0
for first in equation[0].split('+'): #2
res += int(first)
for part in equation[1:]: #3
for element in part.split('+'): #4
res -= int(element)
print(res)
#1 : 입력받은 문자열을 - 를 기준으로 인덱스를 나눈다.
#2 : equation[0]이면 첫번째 - 가 나오기 전의 식. 그 첫번째 요소를 +로 또 나누어 int()변환 후 answer에 모두 더한다.
#3 : 두번쨰 요소부터 모두 +를 기준으로 나누어서 answer에다 빼주면 가장 큰게 괄호를 묶어 최소값을 만들 수 있다.
이 부분은 #1을 수행했기 때문에 '-'를 기준으로 입력받은 문자열이 나눠져 있다
#4 : '-'로 나눠진 부분 중 '+'로 나누어 각자의 값을 res에서 빼주면 가장 최소의 값이 나온다
728x90
'[Coding Test] > [백준]' 카테고리의 다른 글
[백준] 11399 파이썬(python) : ATM (0) | 2022.06.23 |
---|---|
[백준] 1931 파이썬(python) : 회의실 배정 - (★) (0) | 2022.06.23 |
[백준] 1655 파이썬(python) : 가운데로 말해요 - 상세해설 (0) | 2022.06.20 |
[백준] 11286 파이썬(python) : 절댓값 힙 - (★) (0) | 2022.06.20 |
[백준] 1927 파이썬(python) : 최소 힙 (0) | 2022.06.19 |