Notice
Recent Posts
Link
정화 코딩
[C++] 카드 놓기 (백준 18115번) 본문
https://www.acmicpc.net/problem/18115
#include <iostream>
#include <vector>
#include <deque>
using namespace std;
int main() {
ios_base::sync_with_stdio(0);
cin.tie(0);
cout.tie(0);
int n;
cin >> n;
vector<int> ac(n);
for (int i = 0; i < n; i++) cin >> ac[i];
deque<int> dq;
for (int i = n - 1; i >= 0; i--) {
if (ac[i] == 1) {
dq.push_front(n - i);
} else if (ac[i] == 2) {
int tmp = dq.front();
dq.pop_front();
dq.push_front(n - i);
dq.push_front(tmp);
} else if (ac[i] == 3) {
dq.push_back(n - i);
}
}
for (int i = 0; i < n; i++) {
cout << dq.front() << ' ';
dq.pop_front();
}
cout << '\n';
}
행동들을 뒤에서부터 읽으면서 1번이면 해당 카드를 덱의 맨 앞에 넣고, 2번이면 덱의 맨 앞에 있는 카드를 뻰 다음 해당 카드를 덱의 맨 앞에 넣고 원래 있었던 카드를 다시 맨 앞에 넣고, 3번이면 해당 카드를 덱의 맨 뒤에 넣는다. (AC)
'PS' 카테고리의 다른 글
[C++] 대회 장소 준비 (백준 9555번) (0) | 2024.09.09 |
---|---|
[C++] 뱀과 사다리 게임 (백준 16928번) (0) | 2024.09.09 |
[C++] 테트로미노 (백준 14500번) (0) | 2024.09.08 |
[C++] 공통 순열 (백준 1622번) (0) | 2024.09.08 |
[C++] 비트가 넘쳐흘러 (백준 17419번) (0) | 2024.09.07 |
Comments