알고리즘
- 수학
- 그리디 알고리즘
- 문자열
- 파싱

뺄셈(-)을 기준으로 1차적으로 문자열을 분리해준다.
분리된 문자열들 각각에 포함 된 정수 값들을 모두 더 해준다.
각각 더해진 값들을 뺄셈해준다.

뺄셈기호(-)를 중심으로 먼저 문자열을 분리해준 뒤, 각 분리된 문자열안에 있는 정수끼리 더해준다. 그 후, 분리된 문자열들을 뺄셈 연산
'첫 번째 수는 양수'라는 점 유의
int sum = Integer.MAX_VALUE; // 초기 상태 여부 확인을 위한 값으로 설정
StringTokenizer subtraction = new StringTokenizer(in.nextLine(), "-");
while (subtraction.hasMoreTokens()) {
int temp = 0;
// 뺄셈으로 나뉜 토큰을 덧셈으로 분리하여 해당 토큰들을 더한다.
StringTokenizer addition = new StringTokenizer(subtraction.nextToken(), "+");
// 덧셈으로 나뉜 토큰들을 모두 더한다.
while (addition.hasMoreTokens()) {
temp += Integer.parseInt(addition.nextToken());
}
// 첫 번째 토큰인 경우 temp 값이 첫 번째 수가 됨
if (sum == Integer.MAX_VALUE) {
sum = temp;
} else {
sum -= temp;
}
}
System.out.println(sum);
import java.util.Scanner;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int sum = Integer.MAX_VALUE; // 초기 상태 여부 확인을 위한 값으로 설정
StringTokenizer subtraction = new StringTokenizer(in.nextLine(), "-");
while (subtraction.hasMoreTokens()) {
int temp = 0;
// 뺄셈으로 나뉜 토큰을 덧셈으로 분리하여 해당 토큰들을 더한다.
StringTokenizer addition = new StringTokenizer(subtraction.nextToken(), "+");
// 덧셈으로 나뉜 토큰들을 모두 더한다.
while (addition.hasMoreTokens()) {
temp += Integer.parseInt(addition.nextToken());
}
// 첫 번째토큰인 경우 temp값이 첫 번째 수가 됨
if (sum == Integer.MAX_VALUE) {
sum = temp;
} else {
sum -= temp;
}
}
System.out.println(sum);
}
}