식의 값을 최소로 만들기 위해서 ‘-‘ 기호에 주목합시다.

’-‘ 기호를 기준으로 묶음을 만들고 그 사이에 있는 값들을 괄호로 묶어버리면
묶음 내의 합을 최대로 하여 뺄셈을 수행할 수 있기 때문에 최소의 결과값을 얻을 수 있습니다.
즉, ()-()-()… 와 같이 뺄셈을 수행할 때 괄호 안의 값들을 최대로 만들어주면 최소의 값을 얻을 수 있는 것입니다.
그래서 먼저 split(‘-‘)을 통해 각각의 항들을 분리해주고
그렇게 나뉜 값들에는 ‘15+41’과 같이 ‘+’가 섞인 항들이 존재할 것이므로
그 값들을 다시 split(‘+’)으로 분리하여 합해준 다음
모든 값들을 빼주면 최소의 값을 얻어낼 수 있습니다.

다시 한번, 최소의 값을 얻기 위해서는 뺄셈을 한번 수행할 때마다 가능한 최대의 값을 빼나가야함을 기억합시다.

문제 : 백준 1541 - 잃어버린 괄호