큐 구현이다. 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로 구현을 해주었다.
'알고리즘' 카테고리의 다른 글
17298-Swift백준골드4 (1) | 2024.10.08 |
---|---|
9251-Swift알고리즘 (1) | 2024.03.17 |
1259 - swift로풀기 (0) | 2023.09.05 |
파괴되지 않은 건물 - pYthon (0) | 2023.06.19 |
양궁대회- 22KAKAO Blind(python) (0) | 2023.06.16 |