Swift

[Swift] Stack 구현하기

insub4067 2023. 1. 4. 00:05

Swift 라는 언어에서 자료구조인 Stack 을 지원 하지 않습니다.

Stack 이란? 👇👇

탄창의 구조와 같습니다. Last In First Out 의 구조로써 처음들어간 총알을 제일 마지막에 나오게 되어있습니다.

반대로 마지막에 들어간 총알은 제일 처음 나오게 되어있습니다.

import Foundation

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

var stack = Stack<Int>()

stack.push(1)
stack.push(2)
print(stack.pop()) // Optional(2)