문제
맞은 코드
#include <bits/stdc++.h>
using namespace std;
int N, num;
char order[10];
queue<int> q;
int main(void) {
scanf("%d", &N);
while(N--){
scanf("%s", order);
if(!strcmp(order, "push")){
scanf("%d", &num);
q.push(num);
}
if(!strcmp(order, "pop")){
if(q.empty()){
printf("-1\n");
}else{
printf("%d\n", q.front());
q.pop();
}
}
if(!strcmp(order, "size")){
printf("%d\n", q.size());
}
if(!strcmp(order, "empty")){
if(q.empty()){
printf("1\n");
}else{
printf("0\n");
}
}
if(!strcmp(order, "front")){
if(q.empty()){
printf("-1\n");
}else{
printf("%d\n", q.front());
}
}
if(!strcmp(order, "back")){
if(q.empty()){
printf("-1\n");
}else{
printf("%d\n", q.back());
}
}
}
return 0;
}
리뷰
까다로운 문제는 아니었는데.
string 비교와 cin/cout을 하니깐 시간초과가 났었다.
Strcmp() 함수로 문자열 비교를 하고, 입출력은 scanf/printf를 쓰니깐 정답이 떴다.
728x90
'알고리즘 > 백준' 카테고리의 다른 글
회전하는 큐 백준 1021번 c++ (0) | 2021.11.24 |
---|---|
탑 백준 2493 c++ (0) | 2021.11.24 |
요세푸스 문제 list, queue로 풀어본 백준 1158번 c++ (0) | 2021.11.24 |
키로거 백준 5397 c++ (0) | 2021.11.22 |
에디터 list, queue로 2가지로 풀어본 코드 백준 1406번 c++ (0) | 2021.11.22 |