π 곡λΆνλ μ§μ§μνμΉ΄λ μ²μμ΄μ§?
[BAEKJOON C++] 10866_λ± λ³Έλ¬Έ
728x90
λ°μν
μ μλ₯Ό μ μ₯νλ λ±(Deque)λ₯Ό ꡬνν λ€μ, μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±
λͺ λ Ήμ μ΄ μ¬λ κ°μ§μ΄λ€.
push_front X: μ μ Xλ₯Ό λ±μ μμ λ£λλ€.
push_back X: μ μ Xλ₯Ό λ±μ λ€μ λ£λλ€.
pop_front: λ±μ κ°μ₯ μμ μλ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
λ§μ½, λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
pop_back: λ±μ κ°μ₯ λ€μ μλ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
λ§μ½, λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
size: λ±μ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
empty: λ±μ΄ λΉμ΄μμΌλ©΄ 1μ, μλλ©΄ 0μ μΆλ ₯νλ€.
front: λ±μ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
back: λ±μ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€.
μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€.
λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
// [10866] λ±
/*
μ μλ₯Ό μ μ₯νλ λ±(Deque)λ₯Ό ꡬνν λ€μ, μ
λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ
λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±
λͺ
λ Ήμ μ΄ μ¬λ κ°μ§μ΄λ€.
push_front X: μ μ Xλ₯Ό λ±μ μμ λ£λλ€.
push_back X: μ μ Xλ₯Ό λ±μ λ€μ λ£λλ€.
pop_front: λ±μ κ°μ₯ μμ μλ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
λ§μ½, λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
pop_back: λ±μ κ°μ₯ λ€μ μλ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
λ§μ½, λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
size: λ±μ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
empty: λ±μ΄ λΉμ΄μμΌλ©΄ 1μ, μλλ©΄ 0μ μΆλ ₯νλ€.
front: λ±μ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
back: λ±μ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€.
λ§μ½ λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ
λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ
λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ
λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€.
μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€.
λ¬Έμ μ λμμμ§ μμ λͺ
λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ
λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
*/
#define _CRT_SECURE_NO_WARNINGS
// νμ€ μ€νΈλ¦Όμμ μ½κΈ° λ° μ°κΈ°λ₯Ό μ μ΄νλ κ°μ²΄λ₯Ό μ μΈ
#include <iostream>
#include <algorithm> // find
#include <string>
#include <cmath> // abs
#include <vector>
#include <queue>
using namespace std;
int main() {
ios::sync_with_stdio(0);
cin.tie(0);
deque<int> DQ;
int N;
cin >> N;
while (N--) {
string str;
cin >> str;
// push_front X: μ μ Xλ₯Ό λ±μ μμ λ£λλ€.
if (str == "push_front") {
int X;
cin >> X;
DQ.push_front(X);
}
// push_back X: μ μ Xλ₯Ό λ±μ λ€μ λ£λλ€.
else if (str == "push_back") {
int X;
cin >> X;
DQ.push_back(X);
}
// pop_front: λ±μ κ°μ₯ μμ μλ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½, λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "pop_front") {
if (!DQ.empty()) {
cout << DQ.front() << "\n";
DQ.pop_front();
}
else
cout << "-1\n";
}
// pop_back: λ±μ κ°μ₯ λ€μ μλ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½, λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "pop_back") {
if (!DQ.empty()) {
cout << DQ.back() << "\n";
DQ.pop_back();
}
else
cout << "-1\n";
}
// size: λ±μ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
else if (str == "size") {
cout << DQ.size() << "\n";
}
// empty: λ±μ΄ λΉμ΄μμΌλ©΄ 1μ, μλλ©΄ 0μ μΆλ ₯νλ€.
else if (str == "empty") {
cout << DQ.empty() << "\n";
}
// front: λ±μ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½ λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "front") {
if (!DQ.empty()) {
cout << DQ.front() << "\n";
}
else
cout << "-1\n";
}
// back: λ±μ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€.
// λ§μ½ λ±μ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
else if (str == "back") {
if (!DQ.empty()) {
cout << DQ.back() << "\n";
}
else
cout << "-1\n";
}
}
return 0;
}
728x90
λ°μν
'π¦₯ μ½ν > BAEKJOON' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[BAEKJOON C++] 2908_μμ (0) | 2023.07.30 |
---|---|
[BAEKJOON C++] 11656_μ λ―Έμ¬ λ°°μ΄ (0) | 2023.07.28 |
[BAEKJOON C++] 10843_ν (0) | 2023.07.28 |
[BAEKJOON C++] 10828_μ€ν (0) | 2023.07.28 |
[BAEKJOON C++] 1026_보물 (0) | 2023.07.28 |
Comments