Stack
// Stack
struct Stack<T>{
private var stack: [T] = []
public var count: Int{
return stack.count
}
public var isEmpty: Bool{
return stack.isEmpty
}
public func top() -> T?{
return stack.last // 없으면 nil 반환
}
public mutating func push(_ element: T){
stack.append(element)
}
public mutating func pop() -> T?{
return stack.popLast() // 없으면 nil 반환
}
}