문제 풀이/자료 구조

[백준] 9012 (괄호)

interfacer_han 2023. 12. 30. 17:53

#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