Baekjoon algorithm training

[백준] 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 한다.

'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