Queue 10845 - swift

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로 구현을 해주었다. 

'알고리즘' 카테고리의 다른 글

17298-Swift백준골드4  (3) 2024.10.08
9251-Swift알고리즘  (1) 2024.03.17
1259 - swift로풀기  (0) 2023.09.05
파괴되지 않은 건물 - pYthon  (2) 2023.06.19
양궁대회- 22KAKAO Blind(python)  (2) 2023.06.16
'알고리즘' 카테고리의 다른 글
  • 17298-Swift백준골드4
  • 9251-Swift알고리즘
  • 1259 - swift로풀기
  • 파괴되지 않은 건물 - pYthon
2료일
2료일
좌충우돌 모든것을 다 정리하려고 노력하는 J가 되려고 하는 세미개발자의 블로그입니다. 편하게 보고 가세요
  • 2료일
    GPT에게서 살아남기
    2료일
  • 전체
    오늘
    어제
    • 분류 전체보기 (121) N
      • SWIFT개발 (29)
      • 알고리즘 (25)
      • Design (6)
      • ARkit (1)
      • 면접준비 (30)
      • UIkit (2)
      • Vapor-Server with swift (3)
      • 디자인패턴 (5)
      • 반응형프로그래밍 (12)
      • CS (3)
      • 도서관 (2) N
  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.4
2료일
Queue 10845 - swift
상단으로

티스토리툴바