Notice
Recent Posts
Recent Comments
Link
궤도
[백준] 18258번 : 큐 2 본문
문제
풀이
지난번에 C++의 STL중 하나인 스택을 사용해봤다. 이번에는 큐다.
큐는 FIFO(First In First Out)인 자료구조다.
www.cplusplus.com/reference/queue/queue/?kw=queue
소스코드
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
cin.tie(NULL);
ios_base::sync_with_stdio(false);
queue <int> q;
int N, num;
string input;
cin >> N;
for (int i = 0; i < N; i++) {
cin >> input;
if (input.compare("push") == 0) {
cin >> num;
q.push(num);
}
else if (input.compare("pop") == 0) {
if (q.empty())
cout << -1 << '\n';
else {
num = q.front();
cout << num << '\n';
q.pop();
}
}
else if (input.compare("size") == 0)
cout << q.size() << '\n';
else if (input.compare("empty") == 0)
cout << q.empty() << '\n';
else if (input.compare("front") == 0) {
if (q.empty())
cout << -1 << '\n';
else
cout << q.front() << '\n';
}
else if (input.compare("back") == 0) {
if (q.empty())
cout << -1 << '\n';
else
cout << q.back() << '\n';
}
}
}
지난 스택 문제처럼 간단한 함수만 정리하고 마치도록 하겠다.
#include <queue> //큐를 사용하기 위한 헤더
queue<int> q //int형 큐 q선언
q.push(1) //큐 q에 1투입
q.pop() //큐 q에서 제일 먼저 들어온 값을 뺌
q.front() //큐 q에서 제일 먼저 들어온 값을 반환
q.back() //큐 q에서 제일 마지막에 들어온 값을 반환
q.size() //큐 q의 크기 반환
q.empty() //큐 q가 비어있는지 아닌지 확인
Comments