[백준10845] 큐 구현 (C++)
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <string>
using namespace std;
struct queue {
int q[10000];
int begin = 0;
int end = 0;
void push(int num) {
q[end] = num;
end++;
}
int pop() {
if (!empty()) {
int temp;
temp = q[begin];
q[begin] = 0;
begin++;
return temp;
}
return -1;
}
int size() {
return end - begin;
}
int empty() {
if (begin == end)
return 1;
return 0;
}
int front() {
return q[begin];
}
int back() {
return q[end - 1];
}
};
int main() {
queue q;
int n;
cin >> n;
while (n--) {
string cmd;
cin >> cmd;
if (cmd == "push") {
int pnum;
cin >> pnum;
q.push(pnum);
}
else if (cmd == "pop") {
cout << q.pop() << '\n';
}
else if (cmd == "size") {
cout << q.size()<<'\n';
}
else if (cmd == "empty") {
cout << q.empty()<<'\n';
}
else if (cmd == "front") {
if (!q.empty()) {
cout << q.front()<<'\n';
}
else
cout << "-1\n";
}
else if (cmd == "back") {
if (!q.empty()) {
cout << q.back()<<'\n';
}
else
cout << "-1\n";
}
}
return 0;
}
자료구조입문 과제로 스택을 구현했던 기억이 떠오르는 문제였다. 큐의 작동 원리를 이해하는 것이 핵심이다.
Author And Source
이 문제에 관하여([백준10845] 큐 구현 (C++)), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@yoohoo030/백준10845-큐-구현-C저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)