이번 문제는 스택을 구현해서 쉽게 해결할 수 있습니다

 

import Foundation

var line = readLine()!
var arr: [Character]
while line != "." {
    arr = .init()
    for i in line {
        if i == "(" || i == "[" {
            arr.append(i)
        } else if i == ")" {
            if arr.last == "(" {
                arr.removeLast()
            } else {
                arr.append(i)
                break
            }
        } else if i == "]" {
            if arr.last == "[" {
                arr.removeLast()
            } else {
                arr.append(i)
                break
            }
        }
    }
    if arr.isEmpty {
        print("yes")
    } else {
        print("no")
    }
    line = readLine()!
}

'Algorithm > Baekjoon' 카테고리의 다른 글

Swift - 백준 1012번 유기농 배추  (0) 2024.08.25
Swift - 백준 1003번 피보나치 함수  (0) 2024.08.25
Swift - 백준 2108번 통계학  (0) 2024.08.22
Swift - 백준 7568번 덩치  (0) 2024.08.21
Swift - 백준 10773번 제로  (0) 2024.08.20
ytw_developer