본문 바로가기
Programming/Algorithm

백준 큐

by OKOK 2018. 1. 29.

/*

zbfmf rngusgks ekdma audfud

zbfmf sjgsms rjt tkdlwm dpaxl vmfhsxm qor dhzpdldy.

*/


#include <iostream>

#include <string>

#include <queue>


using namespace std;


int main(void) {

int N;

int num;

string str;

queue<int> que;

cin >> N;

for (int i = 0; i < N; i++) {

cin >> str;

if (str == "push") {

cin >> num;

que.push(num);

}


else if (str == "front") {

if (!que.empty()) {

cout << que.front() << endl;

}

else {

cout << "-1" << endl;

}

}


else if (str == "back") {

if (!que.empty()) {

cout << que.back() << endl;

}

else {

cout << "-1" << endl;

}

}

else if (str == "size") {

cout << que.size() << endl;

}


else if (str == "empty") {

if (que.empty()) {

cout << "1" << endl;

}

else {

cout << "0" << endl;

}

}

else if (str == "pop") {

if (!que.empty()) {

cout << que.front() << endl;

que.pop();

}

else {

cout << "-1" << endl;

}

}

}

return 0;

}


오께이. 큐 문제 풀이 맞았습니다. 어떻게 풀어나가는지 대략적으로 감잡기 시작했습니다. 쉬운 예제들이 있고, 이것들의 사용법은 전부 나와있습니다. 다만, 조금 꼬여있을때, 그것을 어떻게 풀어나가야할지, 가정을 해보고 가설을 세우고 풀어보도록 하겠습니다.