[백준 알고리즘]/[자바 Java]

백준 9012 괄호 | 자바 java | Stack

말하는펭귄 2024. 1. 24. 17:14
728x90
반응형

 

이번 포스팅은 백준 9012번 괄호입니다.

아래 url를 클릭하시면 백준 사이트에서 문제를 볼 수 있습니다.

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

 

9012번: 괄호

괄호 문자열(Parenthesis String, PS)은 두 개의 괄호 기호인 ‘(’ 와 ‘)’ 만으로 구성되어 있는 문자열이다. 그 중에서 괄호의 모양이 바르게 구성된 문자열을 올바른 괄호 문자열(Valid PS, VPS)이라고

www.acmicpc.net

 

 

 

기본 알고리즘

  • 자료 구조
  • 문자열
  • 스택
//자바 Stack 사용법
 
//import
import java.util.Stack;
 
//Stack 선언
Stack<Integer> st = new Stack<>();
 
//삽입
st.push(999);
 
//삭제
st.pop();

//top
st.peek();
반응형

 

전체 코드

 

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
import java.util.Scanner;
import java.util.Stack;
 
public class Main{
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        int t=0;
        
        t=sc.nextInt();
 
        for(int i=0; i<t; i++){
            String str = sc.next();
            Stack<Character> st = new Stack<>();
 
            for(int j=0; j<str.length(); j++){
                if(str.charAt(j)=='('){
                    st.push(str.charAt(j));
                } else {
                    if(!st.isEmpty()){
                        if(st.peek()=='('){
                            st.pop();
                        } else {
                            st.push(str.charAt(j));
                        }
                    } else {
                        st.push(str.charAt(j));
                    }
                }
            }
 
            if(st.isEmpty()){
                System.out.println("YES");
            } else {
                System.out.println("NO");
            }
        }
 
 
 
        sc.close();
    }
}
 
cs

 

 

728x90
반응형