수학을 못해서인지 괄호를 칠 수 있는 범위를 잘못 생각했다.
난 단지 괄호랑 숫자를 한 페어로 생각해서 돌아갈 거라고 생각했는데~
55-(50+40)
결론적으로 덧셈끼리 먼저 계산해야 한다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int sum = Integer.MIN_VALUE;
StringTokenizer sub = new StringTokenizer(br.readLine(), "-");
while (sub.hasMoreTokens()) {
int temp = 0;
// 뺄셈 중에서 덧셈먼저 다 + 기준으로 분리해서 저장
StringTokenizer add = new StringTokenizer(sub.nextToken(), "+");
// add의 값들 다 더하기
while (add.hasMoreTokens()) {
temp += Integer.parseInt(add.nextToken());
}
if (sum == Integer.MIN_VALUE) {
sum = temp;
} else {
// sum에서 빼기
sum -= temp;
}
}
System.out.println(sum);
}
}