https://programmers.co.kr/learn/courses/30/lessons/12909
스택
스택을 이용해서 간단하게 풀었다. (설명 생략)
효율성 테스트에서 실패되는 케이스가 있어서 이것만 언급하겠다.
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++) {
if (stack.isEmpty() || s.charAt(i) == '(') {
stack.push(s.charAt(i));
} else {
stack.pop();
}
}
return stack.isEmpty();
}
}