블로그 언저리인 무언가
[백준/BOJ] 18115 카드 놓기 본문
728x90
문제 : 18115 카드 놓기
카드를 내려놓은 순서가 주어질 때,
원래의 카드 순서를 복구하는 문제이다.
deque 자료형을 이용해 앞뒤로 집어넣은 후 출력하면 된다.
Code
#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll N;
vector<ll> arr;
deque<ll> dq;
int main(){
ios::sync_with_stdio(0);
cin.tie(0);
cin >> N;
for (int i=0;i<N;i++){
ll a;
cin >> a;
arr.push_back(a);
}
reverse(arr.begin(), arr.end());
for (int i=1;i<=N;i++){
if (arr[i-1]==1)
dq.push_front(i);
if (arr[i-1]==2){
ll a=dq.front();
dq.pop_front();
dq.push_front(i);
dq.push_front(a);
}
if (arr[i-1]==3)
dq.push_back(i);
}
while(!dq.empty()){
cout << dq.front() << " ";
dq.pop_front();
}
return 0;
}
728x90
'Programming > BOJ' 카테고리의 다른 글
[백준/BOJ] 1074 Z (0) | 2020.11.29 |
---|---|
[백준/BOJ] 1138 한 줄로 서기 (0) | 2020.11.23 |
[백준/BOJ] 2529 부등호 (0) | 2020.11.19 |
[백준/BOJ] 2758 로또 (0) | 2020.11.17 |
[백준/BOJ] 5972 택배 배송 (0) | 2020.11.16 |
Comments