요구능력 : 덱(Deque)
코드설명 :
덱을 구현하였다.
후기 : 큐와 많이 비슷하다.
let n = Int(readLine()!)!
var deque: [Int] = []
func push_front(_ x: Int) {
if deque.isEmpty {
deque.append(x)
}else {
deque.reverse()
deque.append(x)
deque.reverse()
}
}
func push_back(_ x: Int) {
deque.append(x)
}
func pop_front() -> Int {
if deque.isEmpty {
return -1
}else {
return deque.removeFirst()
}
}
func pop_back() -> Int {
if deque.isEmpty {
return -1
}else {
return deque.removeLast()
}
}
func size() -> Int{
return deque.count
}
func empty() -> Int{
if deque.isEmpty {
return 1
}else {
return 0
}
}
func front() -> Int {
if deque.isEmpty {
return -1
}else {
return deque.first!
}
}
func back() -> Int {
if deque.isEmpty {
return -1
}else {
return deque.last!
}
}
for _ in 1...n {
let a = readLine()!.split(separator: " ")
switch String(a[0]) {
case "push_front":
push_front(Int(a[1])!)
case "push_back":
push_back(Int(a[1])!)
case "pop_front":
print(pop_front())
case "pop_back":
print(pop_back())
case "size":
print(size())
case "empty":
print(empty())
case "front":
print(front())
case "back":
print(back())
default:
break
}
}
'Algorithm > 문제풀이_백준' 카테고리의 다른 글
[Swift] 백준 10816번(숫자 카드2) (0) | 2021.09.03 |
---|---|
[Swift][이진탐색] 백준 1920번 (수 찾기) (0) | 2021.09.02 |
[Swift][DP] 백준 10844번 (쉬운 계단 수) (0) | 2021.09.01 |
[Swift][Qeque] 백준 10845번 (큐) (0) | 2021.08.31 |
[Swift][Greedy] 백준 5585번 (거스름돈) (0) | 2021.08.31 |
댓글