C++ STL deque๋ฅผ ์ฌ์ฉํด์ ๋ฑ์ ๊ตฌํํ๋ค.
BOJ ์คํ, ํ ๋ฌธ์ ์ ๋ฐฉ์์ด ๋์ผํ๋ค.
#include <bits/stdc++.h>
using namespace std;
int main(){
deque<int> dq;
int N;
scanf("%d", &N);
for(int i=0; i<N; i++){
string str; getline(cin >> ws, str);
switch(str[0]){
case 'p':
{
if(str[1] == 'u'){
if(str[5] == 'f') dq.push_front(stoi(str.substr(str.find(" ") + 1)));
else dq.push_back(stoi(str.substr(str.find(" ") + 1)));
}else{
if(str[4] == 'f'){
if(dq.empty()) printf("-1\n");
else{
printf("%d\n", dq.front());
dq.pop_front();
}
}
else{
if(dq.empty()) printf("-1\n");
else{
printf("%d\n", dq.back());
dq.pop_back();
}
}
}
}
break;
case 's':
printf("%d\n", dq.size());
break;
case 'e':
printf("%d\n", dq.empty() ? 1 : 0);
break;
case 'f':
printf("%d\n", dq.empty()? -1 : dq.front());
break;
case 'b':
printf("%d\n", dq.empty() ? -1 : dq.back());
break;
}
}
}
[๋ฐฑ์ค(BOJ)] 10808๋ฒ: ์ํ๋ฒณ ๊ฐ์ (C++) (0) | 2021.08.07 |
---|---|
[๋ฐฑ์ค(BOJ)] 9012๋ฒ: ๊ดํธ (์คํ(stack), C++) (0) | 2021.08.07 |
[๋ฐฑ์ค(BOJ)] 10828๋ฒ: ํ (ํ, C++) (0) | 2021.08.07 |
[๋ฐฑ์ค(BOJ)] 10828๋ฒ: ์คํ (์คํ, C++) (0) | 2021.08.07 |
[๋ฐฑ์ค(BOJ)] 11652๋ฒ: ์นด๋ (์ ๋ ฌ, C++) (0) | 2021.08.06 |