import Foundation
let N = Int(readLine()!)!
var deque = [Int]()
for _ in 1...N {
let line = readLine()!
printNum(command: line)
}
func printNum(command: String) {
let arr = command.components(separatedBy: " ")
switch arr[0] {
case "push_back":
return deque.append(Int(arr[1])!)
case "push_front":
if deque.isEmpty {
deque.append(Int(arr[1])!)
} else {
deque.insert(Int(arr[1])!, at: 0)
}
return ()
case "pop_front":
if deque.isEmpty {
print(-1)
} else {
print(deque.removeFirst())
}
return ()
case "pop_back":
if deque.isEmpty {
print(-1)
} else {
print(deque.removeLast())
}
return ()
case "size":
return print(deque.count)
case "empty":
if deque.isEmpty {
print(1)
} else {
print(0)
}
return ()
case "front":
if deque.isEmpty {
print(-1)
} else {
print(deque.first!)
}
return ()
case "back":
if deque.isEmpty {
print(-1)
} else {
print(deque.last!)
}
return ()
default:
break
}
}
반응형
'📝 코테 > BOJ' 카테고리의 다른 글
[Swift] 백준1389 케빈 베이컨의 6단계 법칙 (0) | 2023.03.30 |
---|---|
[Swift] 백준 11650 좌표 정렬하기 (0) | 2023.03.29 |
[Swift] 백준10845 큐 (0) | 2023.03.28 |
[Swift] 백준9012 괄호 (0) | 2023.03.28 |
[Swift] 백준7568 덩치 (0) | 2023.03.28 |