알고리즘/백준
201030 큐 2 18258번(C++) -컴파일 에러
쭈친
2020. 10. 30. 22:30
18258번: 큐 2
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 2,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
문제:
큐를 이용해서 주어진 문자열에 따라서 명령을 수행하면 됩니다.
STL 라이브러리에 queue가 이미 있기 때문에 C++을 사용해서 문제를 풀었습니다.
정답:
#include <iostream>
#include <queue>
using namespace std;
int main(){
int num;
cin >> num;
queue<int> q;
while(num--){
char flag[6];
cin >> flag;
switch(flag){
case "push":
int x;
cin >> x;
q.push(x);
break;
case "pop":
cout << (q.empty() ? -1 : q.pop()) << endl;
break;
case "size":
cout << q.size() << endl;
break;
case "empty":
cout << (q.empty() ? 1 : 0) << endl;
break;
case "front":
cout << (q.empty() ? -1 : q.front()) << endl;
break;
case "back":
cout << (q.empty() ? -1 : q.back()) << endl;
break;
}
return 0;
}
----------------------------------------------------------------------------------------------------------------------------------------------
찾아보니까 파이썬은 queue를 구현할 때 queue 모듈도 있고, 리스트를 사용하는 방법도 있었습니다.