-
728x90
https://www.acmicpc.net/problem/10845 저번에 처음 풀었던 스택 문제와 똑같은 유형 문제였다.
스택에서 큐로 바뀌었을뿐..ㅎㅎSTL의 queue를 사용하였다.
생성
· queue<자료형> 변수명;삽입 및 삭제
· push(값); -> 맨 뒤에 값 넣기
· pop(); -> 맨 앞 원소 제거스택 조회
· front(); -> 가장 앞에있는 값 반환
· back(); -> 가장 뒤에있는 값 반환
· empty(); -> 큐가 비어있는지 확인(true/false)
· size(); -> 큐 사이즈 반환#include <iostream>#include <queue>#include <string>using namespace std;int main(){int n = 0;cin >> n;cin.ignore();queue<int> q;string str;for (int i = 0; i < n; i++){cin >> str;int num = 0;if (str.compare("front") == 0){if (!q.empty())cout << q.front() << endl;elsecout << -1 << endl;}else if (str.compare("back") == 0){if (!q.empty())cout << q.back() << endl;elsecout << -1 << endl;}else if (str.compare("empty") == 0){if (!q.empty())cout << 0 << endl;elsecout << 1 << endl;}else if (str.compare("size") == 0){cout << q.size() << endl;}else if (str.compare("pop") == 0){if (!q.empty()){cout << q.front() << endl;q.pop();}elsecout << -1 << endl;}else{cin >> num;q.push(num);}}return 0;}10845번: 큐
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.
www.acmicpc.net
데롱디롱희희.. (๑′ᴗ‵๑)
'알고리즘 풀이 > 백준' 카테고리의 다른 글
[1316] 백준 : 그룹 단어 체커(C++) (0) 2020.04.24 [2941] 백준 : 크로아티아 알파벳(C++) (0) 2020.04.24 [1874] 백준 알고리즘 : 스택 수열(C++) (0) 2019.11.20 [9012] 백준 알고리즘 : 괄호(C++) (0) 2019.11.20 [9093] 백준 알고리즘 : 단어 뒤집기(C++) (0) 2019.11.19