문제조건대로 큐스택을 합친 자료구조에 따라 pop되는 원소를 출력해주면 된다.
단순히 큐인 자료구조 원소들만 고려하면 된다. 하나하나 확인하면 시간초과가 나니 주의해야 한다.
#include <iostream>
#include <deque>
using namespace std;
// queuestack
int main() {
ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0);
int n, m, b, c;
cin >> n;
int a[n];
deque<int> dq;
for (int i = 0; i < n; i++) {
cin >> a[i];
}
for (int i = 0; i < n; i++) {
cin >> b;
if (!a[i]) {
dq.push_back(b);
}
}
cin >> m;
for (int i = 0; i < m; i++) {
cin >> c;
dq.push_front(c);
cout << dq.back() << " ";
dq.pop_back();
}
}
C++
복사