코드
import Foundation
struct Queue {
private var list: [Int] = []
mutating func push(value: Int) {
list.append(value)
}
mutating func pop() -> Int{
list.isEmpty ? -1 : list.removeFirst()
}
func size() -> Int {
return list.count
}
func empty() -> Int {
return list.isEmpty ? 1 : 0
}
func front() -> Int {
return list.first ?? -1
}
func back() -> Int {
return list.last ?? -1
}
}
var queue = Queue()
for _ in 0..<Int(readLine()!)! {
let commnad = readLine()!.split(separator: " ")
switch commnad[0] {
case "push":
queue.push(value: Int(commnad[1])!)
case "front":
print(queue.front())
case "back":
print(queue.back())
case "size":
print(queue.size())
case "pop":
print(queue.pop())
case "empty":
print(queue.empty())
default:
break
}
}