알고리즘
Queue 10845 - swift
2료일
2023. 9. 5. 02:28
큐 구현이다. swift로는 큐를 어떻게 구현하는지를 물어보는 거였다.
//
// main.swift
// Queue
//
// Created by 235 on 2023/09/05.
//
import Foundation
struct Queue{
var queue: [Int] = []
public var size: Int {
return queue.count
}
public var isEmpty: Bool {
return queue.isEmpty
}
public var front: Int {
return isEmpty ? -1 : queue[0]
}
public var back: Int {
guard let last = queue.last else {return -1}
return last
}
mutating func push(X: Int) {
queue.append(X)
}
mutating func pop() -> Int {
return isEmpty ? -1 : queue.removeFirst()
}
}
let missionCount = Int(readLine()!)!
var queue = Queue()
for _ in 0..<missionCount {
var mission = readLine()!.split(separator: " ")
switch mission[0] {
case "push":
queue.push(X: Int(mission[1])!)
case "pop":
print(queue.pop())
case "size":
print(queue.size)
case "empty":
print(queue.isEmpty ? "1" : "0")
case "front":
print(queue.front)
case "back":
print(queue.back)
default:
break
}
}
python과 달리 swift에서는 큐가 따로 없기에 내가 struct로 구현을 해주었다.