#include <bits/stdc++.h>
#define FASTIO ios::sync_with_stdio(0), cin.tie(0), cout.tie(0)
using namespace std;
const int MAX = 1000005;
int arr[MAX];
int main(){
FASTIO;
deque<int> dq;
int n; cin >> n;
for (int i = 0; i < n; i++) dq.push_back(i);
for (int i = n; i > 0; i--){
int num; cin >> num;
if (num == 1) {
int idx = dq.front();
dq.pop_front();
arr[idx] = i;
}
else if (num == 2){
int idx = dq.front();
dq.pop_front();
int idx2 = dq.front();
dq.pop_front();
dq.push_front(idx);
arr[idx2] = i;
}
else{
int idx = dq.back();
dq.pop_back();
arr[idx] = i;
}
}
for (int i = 0; i < n; i++) cout << arr[i] << ' ';
return 0;
}
덱을 이용하는 문제였습니다.
'Algorithm > BOJ' 카테고리의 다른 글
[BOJ] 14891번 톱니바퀴 (3) | 2024.07.14 |
---|---|
[BOJ] 2504번 괄호의 값 (0) | 2024.07.10 |
[BOJ] 31802번 주기 함수 (Easy) (0) | 2024.07.10 |
[BOJ] 15276번 Palindrmoic Password (0) | 2024.07.10 |
[BOJ] 30445번 행복 점수 (0) | 2024.07.10 |