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++){
char c = s.charAt(i);
if (c=='(') stack.push(c);
else{
if (stack.empty()) answer = false;
else stack.pop();
}
}
if (!stack.empty()) answer = false;
return answer;
}
}
학교에서 자바 수업 들을 때 과제로 나왔던 문제랑 비슷해서 그때랑 같이 스택 사용해서 풀었다.
여는 괄호라면 push, 닫는 괄호라면 pop을 하는데 pop 할 원소가 없으면 잘못된 괄호다. 또한 모든 push pop이 끝나고 stack에 원소가 남아 있어도 쌍이 안 맞는 경우이기 때문에 잘못된 괄호다.