#1 코드 - 코틀린
import java.util.Stack
fun main() {
val testCaseCount = readln().toInt()
for(i : Int in 0..<testCaseCount) {
if(isVPS(readln())) {
println("YES")
} else {
println("NO")
}
}
}
fun isVPS(testCase : String) : Boolean {
val stack : Stack<Char> = Stack()
for(char in testCase) {
if(char == '(') {
stack.push('(')
} else { // char == ')'
if(stack.isEmpty()) {
return false
}
stack.pop()
}
}
return stack.isEmpty()
}
'('을 만나면 스택에 push하고, ')'을 만나면 스택을 pop한다. 단, 그 pop할 스택이 비어있다면 더 볼 것도 없이 즉시 return false 한다.
'문제 풀이 > 자료 구조' 카테고리의 다른 글
[백준] 1874 (스택 수열) (0) | 2024.01.06 |
---|---|
[백준] 1966 (프린터 큐) (0) | 2024.01.05 |
[백준] 10845 (큐) (0) | 2023.12.14 |
[백준] 10828 (스택) (0) | 2023.11.25 |