본문 바로가기
알고리즘 이전/스택, 큐

올바른 괄호

by hoshi03 2023. 8. 8.

괄호쌍이 올바른지 판별하는 문제

 

내 풀이 

스택을 이용해서 '(' 괄호는 스택에 push, ')' 괄호는 pop 하고

비어있는데 pop을 하거나 <- ')' 괄호 갯수가 더 많음

스택에 괄호가 남아있거나 <- '(' 괄호가 더 많으면 

NO, 아니면 YES를 리턴하게 풀었다

import java.util.*;
public class Main {
    public String Solution(String s1){
        String ans = "NO";
        char[] arr1 = s1.toCharArray();
        Stack<Character> st = new Stack<>();
        for(char x : arr1){
            if(x == '(') st.push('(');
            if(x == ')'){
                if (st.empty()) return ans;
                else st.pop();
            }
        }

        if (st.empty()) ans = "YES";

        return ans;
    }

    public static void main(String[] args) {
        Main T = new Main();
        Scanner in = new Scanner(System.in);
        String s1 = in.next();

        System.out.print(T.Solution(s1));
    }
}

강의 풀이도 동일

'알고리즘 이전 > 스택, 큐' 카테고리의 다른 글

교육과정 설계  (0) 2023.08.12
공주 구하기  (0) 2023.08.11
후위식 연산  (0) 2023.08.10
크레인 인형뽑기  (0) 2023.08.10
괄호문자제거  (0) 2023.08.08