- [ 장르 ] Queue
- [ 문제 ]
- My Code
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main()
{
int cnt,i = 0,data;
queue<int> que;
string str;
cin.tie(NULL); cout.tie(NULL); ios_base::sync_with_stdio(false); // ★ 입출력속도개선선언부
cin >> cnt;
while (i < cnt)
{
cin >> str;
if (!str.compare("push"))
{
cin >> data;
que.push(data);
}
else if (!str.compare("pop"))
{
if (!que.empty())
{
cout << que.front() << '\n'; // ★ 개행마다 endl이 아닌 '\n'
que.pop();
}
else
cout << -1 << '\n';
}
else if (!str.compare("front"))
{
if (!que.empty())
cout << que.front() << '\n';
else
cout << -1 << '\n';
}
else if (!str.compare("back"))
{
if (!que.empty())
cout << que.back() << '\n';
else
cout << -1 << '\n';
}
else if (!str.compare("size"))
cout << que.size() << '\n';
else
cout << que.empty() << '\n';
i++;
}
}
" 공부한 것을 적용하면서 기억을 하자. "
[ CheckPoint ]
- 기본적인 큐(Queue) 기능문제이다. C++에선 <queue> container에 모든 왠만한 queue연산은 제공되 있으므로 이를 잘 인지하고 있는지
확인하는 정도의 문제이다.- 다만, 이 문제 역시 실행속도 문제때문에 메인 본문에 코드에 주석처리로 된 ★ 부분이 선언부를 작성해주고, 하나 더 C++의 endl개행보다
'\n' 을 사용하는것을 지향한다.
728x90
반응형
'Algorithm Practice > [ Baekjoon ]' 카테고리의 다른 글
[Baekjoon][#10866] 덱(Deque) (0) | 2020.09.24 |
---|---|
[Baekjoon][#11729] 하노이 탑 이동순서 (0) | 2020.09.23 |
[Baekjoon][#1991] 트리순회 (0) | 2020.09.21 |
[Baekjoon][#11279] 최대 힙 (0) | 2020.09.20 |
[Baekjoon][10828번] 스택 (0) | 2020.09.18 |