LeetCode) 20. Valid Parentheses

·2021년 11월 10일
0

Leet_code(Easy)

목록 보기
6/20

괄호가 잘 닫혔는 지 확인하는 문제.

Language: java

class Solution {
    public boolean isValid(String s) {
        Stack<String> stack = new Stack<>();
        String[] strArr = s.split("");
        
        if(s.length() == 0) return true;
        if(s.length() % 2 != 0) return false;

        for(int i = 0; i < strArr.length; i++) {
            
            switch(strArr[i]){
                case "(": {
                    stack.push("(");
                    break;
                }
                case "{": {
                    stack.push("{");
                    break;
                }
                case "[": {
                    stack.push("[");
                    break;
                }
                case ")": {
                    if(!stack.empty() && stack.peek().equals("(") )
                        stack.pop();
                    else return false;
                    break;
                }
                case "}": {
                    if(!stack.empty() && stack.peek().equals("{") ) 
                        stack.pop();
                    else return false;
                    break;
                }
                case "]": {
                    if(!stack.empty() && stack.peek().equals("[") ) 
                        stack.pop();
                    else return false;
                    break;
                }
            }
        }
        
        return stack.empty();
    }
}

이녀석도 좀 애를 썼던 문제 ... 결국 구글링의 힘을 빌렸지만
stack을 c언어로만 해봤어서, java로 사용할 생각조차 못했다.
이 문제 덕분에 자바로 어떻게 쓰는 지 알게 됐지만... 여전히 어색하다.
다시 한 번 풀어봐야 할 문제!

profile
HAPPY !

0개의 댓글