https://school.programmers.co.kr/learn/courses/30/lessons/12909

class Solution {
    boolean solution(String s) {
        java.util.Stack<Character> stack = new java.util.Stack<Character>();

        for (int i=0; i<s.length(); i++) {
            if (stack.isEmpty() && s.charAt(i) == ')') return false;
            if(s.charAt(i)==')') stack.pop();
            else stack.push(s.charAt(i));
        }
        if (stack.isEmpty()) return true;
        else return false;
    }
}

기본

java.util.Stack<>을 활용한다.