천리길도 한걸음부터

문제08 올바른 괄호⭐⭐ 본문

코딩 테스트 합격자 되기_자바💜

문제08 올바른 괄호⭐⭐

밤연양갱 2024. 8. 15. 21:58
문제08 올바른 괄호
- 저자 권장 시간 : 30
- 권장 시간 복잡도 : O(N)
- 출제 : 스택/

import java.util.ArrayDeque;

class Solution {

    private boolean solution(String s) {
        ArrayDeque<Character> stack = new ArrayDeque<>();

        char[] a = s.toCharArray();
        for (char c : a) {
            if(c=='(') {
                stack.push(c);
            }
            else {
                if(stack.isEmpty() || stack.pop() == c) {
                  return false;
                }
            }
        }

        return stack.isEmpty();
    }
}

 

stack.isEmpty()로 스택이 비어있는지 먼저 체크한 후 pop()하는 이유?

스택이 비어있을 때 pop()메서드를 호출하면 EmptyStackException 예외가 발생합니다.