반응형
큐(Queue)는 다들 아시죠? 큐의 특징은 FIFO(First In First Out)입니다.
그렇기 때문에 pop하면 무조건 맨 앞 원소가 나오게 되고, push하면 무조건 맨 뒤에 원소가 들어가게 되죠.
하지만 이번에는 이 큐의 오퍼레이션을 추가한 자료구조가 있습니다.
Queue Member Functions: push(value), pop()
바로 덱(Deque)이라고 하는 자료구조입니다.
원소의 pop을 앞뒤 모두 할 수 있고, push 또한 마찬가지입니다.
Deque Member Functions: push_front(value), psuh_back(value), pop_front(), pop_back()
이 문제는 이 덱을 이용하여 푸는 문제입니다. (사실 굳이 덱 아니어도 풀 수 있는...)
1, 2, 3 연산 방법은 미리 정의되어 있고, $N$개의 원소가 이미 덱에 들어가 있습니다. 그리고 pop할 위치를 줍니다.
이때 각 주어진 위치를 pop(1번 연산)하기 위한 2, 3번 연산의 최소 횟수를 구하면 됩니다.
반응형