[Swift]Baek Jun 10866-Dex
1629 ワード
質問リンク
インデックスは、両端でデータ構造を挿入および削除できる両端キューです.
実装キューのように実装できますが、最初に通過する最終コードは次のとおりです.
最終コード
import Foundation
let N = Int(readLine()!)!
var deque = [Int]()
for _ in 0..<N {
let commandLine = readLine()!.split(separator: " ")
let command = String(commandLine[0])
if command == "push_front" {
deque.insert(Int(commandLine[1])!, at: 0)
} else if command == "push_back" {
deque.append(Int(commandLine[1])!)
} else if command == "pop_front" {
print(deque.isEmpty ? -1 : deque.removeFirst())
} else if command == "pop_back" {
print(deque.isEmpty ? -1 : deque.removeLast())
} else if command == "size" {
print(deque.count)
} else if command == "empty" {
print(deque.isEmpty ? 1 : 0)
} else if command == "front" {
print(deque.isEmpty ? -1 : deque[0])
} else if command == "back" {
print(deque.isEmpty ? -1 : deque.last!)
}
}
:両方とも削除して配列の最後の値を返します.
=>したがって、配列が空ではないことを知っている場合はremoveLastを使用し、popLast()を使用する場合はpopLast()を使用します.次のように強制的に包装をキャンセルする必要があります.
:両方とも、前の列の値が表示されます.
Reference
この問題について([Swift]Baek Jun 10866-Dex), 我々は、より多くの情報をここで見つけました https://velog.io/@sun02/Swift-백준-10866-덱テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol