-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy path1541.java
More file actions
44 lines (40 loc) · 1.12 KB
/
1541.java
File metadata and controls
44 lines (40 loc) · 1.12 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
/*
90+30-20+50-30+60-70+30+20
=> (90+30)-(20+50)-(30+60)-(70+80)
*/
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String data = scanner.next();
int result = 0;
int minusIndex = data.indexOf("-");
if(minusIndex == -1){//-가 없는 경우
String[] arr = data.split("\\+");
for(String x: arr){
result += Integer.parseInt(x);
}
}
else { //-가 있는 경우
// 첫째 마이너스(-) 앞 부분 문자열
String add = data.substring(0, minusIndex);
// 첫째 마이너스(-) 뒤 부분 문자열
String minus = data.substring(minusIndex + 1);
// 앞 부분은 모두 더하기
String[] arr = add.split("\\+");
for (String x: arr) {
result += Integer.parseInt(x);
}
// 뒤 부분은 모두 뺴기
arr = minus.split("-");
for (String x: arr) {
String[] subArr = x.split("\\+");
for (String y: subArr) {
result -= Integer.parseInt(y);
}
}
}
System.out.println(result);
}
}