Link | LeetCode 20번 문제 : Valid Parentheses
괄호 문자열 문제는 Stack을 통해서 해결하면 된다.
괄호 문자열의 괄호들을 차례대로 탐색한다.
만약 탐색한 괄호가 여는 괄호이면 Stack에 삽입한다.
닫는 괄호이면 Stack의 top과 비교하면 된다.
짝이 맞으면 Stack을 pop하고 짝이 맞지 않으면 push 하면 된다.
fun isValid(s: String): Boolean = object : Stack<Char>() {
init {
s.forEach { if (isNotEmpty() && it - peek() in 1..2) pop() else push(it) }
}
}.isEmpty()