알고리즘71 :: BOJ_1541_잃어버린 괄호
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
45
46
47
48
49
|
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
public class 잃어버린괄호 {
public static void main(String[] args) throws Exception{
// TODO Auto-generated method stub
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String str = br.readLine();
String[] astr = str.split("");
ArrayList<String> a = new ArrayList<>();
String number = "";
for(int i=0; i<astr.length; i++) {
if(astr[i].equals("-") || astr[i].equals("+")) {
a.add(number);
a.add(astr[i]);
number="";
}else {
number+=astr[i];
}
}
a.add(number);
ArrayList<Integer> t = new ArrayList<>();
int o =0;
for(int i=0; i<a.size(); i++) {
if(a.get(i).equals("-")) {
t.add(o);
o=0;
continue;
}else if(a.get(i).equals("+")) {
continue;
}
o+=Integer.parseInt(a.get(i));
}//end of for loop
t.add(o);
o=0;
int total = 0;
for(int i=1; i<t.size(); i++) {
total += t.get(i);
}
System.out.println(t.get(0)-total);
}
}
|
cs |
잃어 버린 괄호 문제는 그리디 문제로,
다음 - 를 만나기 전까지 모두 합쳐서
마이너를 만나기전 더하기 를 Group 으로 표현하면 첫번쨰 Group - 나머지 Group 을 해주면 된다.
'알고리즘' 카테고리의 다른 글
알고리즘73 : : BOJ_1316_그룹단어체커 (0) | 2020.02.28 |
---|---|
알고리즘72 :: BOJ_17143_낚시왕 (0) | 2020.02.28 |
알고리즘69 :: BOJ_13866_팀나누기 (0) | 2020.02.26 |
알고리즘68 :: BOJ_17471_게리맨더링 (0) | 2020.02.26 |
알고리즘66 :: BOJ_1914_하노이탑 (0) | 2020.02.24 |
댓글
이 글 공유하기
다른 글
-
알고리즘73 : : BOJ_1316_그룹단어체커
알고리즘73 : : BOJ_1316_그룹단어체커
2020.02.28 -
알고리즘72 :: BOJ_17143_낚시왕
알고리즘72 :: BOJ_17143_낚시왕
2020.02.28 -
알고리즘69 :: BOJ_13866_팀나누기
알고리즘69 :: BOJ_13866_팀나누기
2020.02.26 -
알고리즘68 :: BOJ_17471_게리맨더링
알고리즘68 :: BOJ_17471_게리맨더링
2020.02.26