Algorithm ๐ง๐ป๐ป/๋ฐฑ์ค(BOJ)
[๋ฐฑ์ค,c++] 10866๋ฒ - ๋ฑ
dkswnkk
2021. 10. 25. 14:33
10866๋ฒ: ๋ฑ
์ฒซ์งธ ์ค์ ์ฃผ์ด์ง๋ ๋ช ๋ น์ ์ N (1 ≤ N ≤ 10,000)์ด ์ฃผ์ด์ง๋ค. ๋์งธ ์ค๋ถํฐ N๊ฐ์ ์ค์๋ ๋ช ๋ น์ด ํ๋์ฉ ์ฃผ์ด์ง๋ค. ์ฃผ์ด์ง๋ ์ ์๋ 1๋ณด๋ค ํฌ๊ฑฐ๋ ๊ฐ๊ณ , 100,000๋ณด๋ค ์๊ฑฐ๋ ๊ฐ๋ค. ๋ฌธ์ ์ ๋์์์ง
www.acmicpc.net
#include <iostream>
#include <queue>
using namespace std;
int main() {
ios_base::sync_with_stdio(false);
cin.tie(0);
int N; cin >> N;
deque<int>dq;
while (N--) {
string s; cin >> s;
if (s == "push_back") {
int num; cin >> num;
dq.push_back(num);
}
else if (s == "push_front") {
int num; cin >> num;
dq.push_front(num);
}
else if (s == "pop_front") {
if (dq.empty()) cout << -1 << "\n";
else {
cout << dq.front() << "\n";
dq.pop_front();
}
}
else if (s == "pop_back") {
if (dq.empty()) cout << -1 << "\n";
else {
cout << dq.back() << "\n";
dq.pop_back();
}
}
else if (s == "size") {
cout << dq.size() << "\n";
}
else if (s == "empty") {
if (dq.empty())cout << 1 << "\n";
else cout << 0 << "\n";
}
else if (s == "front") {
if (dq.empty()) cout << -1 << "\n";
else cout << dq.front() << "\n";
}
else if (s == "back") {
if (dq.empty()) cout << -1 << "\n";
else cout << dq.back() << "\n";
}
}
}