#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 한다.
'Baekjoon algorithm training' 카테고리의 다른 글
[백준] 11399 (ATM) (0) | 2024.01.02 |
---|---|
[백준] 1012 (유기농 배추) (0) | 2024.01.01 |
[백준] 9095 (1, 2, 3 더하기) (0) | 2023.12.29 |
[백준] 18111 (마인크래프트) (0) | 2023.12.28 |
[백준] 2579 (계단 오르기) (0) | 2023.12.27 |