괄호가 문자열로 주어질 때, 해당 괄호가 올바른 괄호인지 판단하는 함수를 만드세요.
(())()
"YES"
2-1. 이때, 스택이 비어있다면 오른쪽 괄호에 맞는 왼쪽괄호가 없다는 뜻. "NO"를 리턴한다.
3-1. 스택이 비어있다면, 올바른 괄호
public static String solution(char[] arr) {
String answer = "YES";
Stack<Character> stack = new Stack<>();
for (char x : arr) {
if (x == '(') stack.push(x);
else {
if (stack.isEmpty()) return "NO";
stack.pop();
}
}
if (!stack.isEmpty()) return "NO";
return answer;
}
}