๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
Algoritm/Quiz-Solutions

[๋ฐฑ์ค€ 9012] ๊ด„ํ˜ธ(Java) - Stack

by ๐Ÿ’œautumn 2020. 5. 4.

[๋ฌธ์ œ๋งํฌ]

https://www.acmicpc.net/problem/9012

 

[ํ’€์ด์†Œ์Šค]

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
package algorithm;
 
 
public class Stack9012 {
    public static void main(String[] args) throws NumberFormatException, IOException {
        BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
        int testcase=Integer.parseInt(br.readLine());
        StringBuilder sb=new StringBuilder();
        
        while(testcase-->0) {
            String str=br.readLine();
            boolean isVps=true;
            Stack<Character> marks=new Stack<Character>();
            
            for(int i=0;i<str.length();i++) {
                char temp=str.charAt(i);
                if(temp=='(') {
                    marks.push('(');
                } else {
                    if(marks.isEmpty()) {
                        isVps=false;
                        break;
                    }
                    marks.pop();
                }
            }
            if (isVps && marks.isEmpty()) {
                sb.append("YES \n");
            } else {
                sb.append("NO \n");
            }
        }
        System.out.println(sb);
    }
}
 
http://colorscripter.com/info#e" target="_blank" style="color:#4f4f4ftext-decoration:none">Colored by Color Scripter

 

[๋Š๋‚€์ ]

   - ๋ณ€์ˆ˜์„ ์–ธํ•˜๋Š” ์œ„์น˜ ์ œ๋ฐœ ์ œ๋ฐœ ์ฃผ์˜!

   - ๊ด„ํ˜ธ๋ฌธ์ œ๋Š” Stack!์ด์šฉ, ๋‚˜๋Š” ์—ฌ๋Š” ๊ด„ํ˜ธ๋ฅผ ๋„ฃ์—ˆ๋Š”๋ฐ ๋‹ซ๋Š”๊ด„ํ˜ธ๋„ฃ๋Š”๊ฒŒ ์—ฌ๋Ÿฌ๊ด„ํ˜ธ์žˆ๋Š”๊ฒฝ์šฐ์—๋Š” ํŽธํ•˜๋‹ค๊ณ  ํ•˜๋”๋ผ?

   - ์ฒ˜์Œ์— isVps๋ฅผ String์œผ๋กœ ํ™œ์šฉํ–ˆ๋Š”๋ฐ ๊ทธ๊ฑด ์™œ์•ˆ๋˜๋Š”๊ฑธ๊นŒ? ์šฐ์„  booleanํ˜•ํƒœ๋กœ ํ•˜๋‹ˆ๊นŒ OK! 

      ์ด์œ ๊ฐ€ ๋ญ์ง€.. 

๋Œ“๊ธ€