세준이가 입력한 식에서 괄호를 적절히 쳐서 식의 값을 최소로 만들면 되는 문제이다.
빼는 값을 최대로 만들어주면 되는 문제라고 생각했다. 그래서 -를 기준으로 문자열 덩어리를 나누고, 덩어리만큼 더한 후 빼줬다.
55-50+40
55
- 50+40
1+3-2-3+2+5+1-6
1+3
-2
-3+2+5+1
-6
import java.util.Arrays;
import java.util.Scanner;
public class BOJ_1541 {
static int min = 0;
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
String input = sc.nextLine();
// 맨 처음 나오는 - 앞에 있는 것들 더하기
String[] str = input.split("-");
min += sum(str[0].split("[+]"));
// 그 뒤로 나오는 -까지 덩어리들의 합
for (int i = 1; i < str.length; i++) {
min -= sum(str[i].split("[+]"));
}
System.out.println(min);
}
/*
* 구역 더하기
* 무조건 + 값들만 들어옴
* */
static int sum(String[] input) {
int result = 0;
for (String num : input) {
result += Integer.parseInt(num);
}
return result;
}
}