반응형
문제 링크
https://www.acmicpc.net/problem/1541
접근 방식
+, - 연산만 가능한 상태에서 식의 결과를 최소값으로 만드려면 최대한 큰 값을 빼주면 된다.
즉, - 뒤에 나오는 + 연산을 먼저 해주면 된다.
첫번째 예제로 살펴보면 55-50+40
의 값을 최소로 만드려면 55-(50+40)
으로 괄호를 쳐주면 된다.
그렇다면 - 를 기준으로 식을 자르고, 자른 식들을 먼저 계산한 후 전부 빼주는 식으로 구현해보자 !
풀이 코드
import sys
def input():
return sys.stdin.readline().rstrip()
line = input().split('-')
numbers = []
for l in line:
tmp = map(int, l.split('+'))
numbers.append(sum(tmp))
answer = numbers[0]
for idx in range(1, len(numbers)):
answer -= numbers[idx]
print(answer)
끝 !
728x90
반응형