
처음엔 boolean으로 )이 나타나면 true, (이 나타나면 false로 바꿔서 짝을 찾으려고 했다. 예시코드 4개는 맞았지만 히든케이스들에서 많이 틀렸다. 그래서 int형으로 )이 나타나면 +1, (이 나타나면 -1해주면서 짝을 찾았다.
import java.io.*;
import java.util.*;
class Solution {
    boolean solution(String s) {
        boolean answer = true;
        Stack<Character> stack=new Stack<>();
        for(int i=0;i<s.length();i++){
            stack.push(s.charAt(i));
            // System.out.println(stack.pop());
        }
        
        int flag = 0;
        while(!stack.isEmpty()){
            if(flag<=0 && stack.peek()=='('){
                flag++;
                break;
            }
            
            if(stack.peek()=='('){
                stack.pop();
                flag--;
            }else if(stack.peek()==')'){
                stack.pop();
                flag++;
            }
        }
        
        if(flag>0) answer=false;
        return answer;
    }
}
스택을 너무 오랜만에 쓰다보니 어케쓰더라?까먹었었다.
처음부터 다시 찾아보며 공부했다...
큐를 자주 쓰다보니 offer,poll밖에 모른...
스택은 push,pop이다.