이 문제는 큐를 구현하는 기본적인 문제입니다.
C++ STL인 queue의 기초적인 사용법을 알아야합니다.
Python에서는 queue를 리스트로 구현합니다.
또한 input()을 쓰면 시간초과가 되므로
sys.stdin.readline()를 써야합니다.
#include <iostream>
#include <queue>
#include <string>
using namespace std;
int main() {
int N;
cin >> N;
queue<int> Q;
while(N--) {
string M;
cin >> M;
if(M == "push") {
int dt;
cin >> dt;
Q.push(dt);
}
else if(M == "pop") {
if(Q.empty()) {
cout << -1 << endl;
}
else {
cout << Q.front() << endl;
Q.pop();
}
}
else if(M == "size") {
cout << Q.size() << endl;
}
else if(M == "empty") {
cout << Q.empty() << endl;
}
else if(M == "front") {
if(Q.empty()) {
cout << -1 << endl;
}
else {
cout << Q.front() << endl;
}
}
else if(M == "back") {
if(Q.empty()) {
cout << -1 << endl;
}
else {
cout << Q.back() << endl;
}
}
}
return 0;
}
import sys
Q = []
N = int(sys.stdin.readline())
for i in range(N):
command = sys.stdin.readline().split()
if command[0] == "push":
dt = command[1]
Q.append(dt)
elif command[0] == "pop":
if len(Q) == 0:
print(-1)
else:
print(Q.pop(0))
elif command[0] == "size":
print(len(Q))
elif command[0] == "empty":
if len(Q) == 0:
print(1)
else:
print(0)
elif command[0] == "front":
if len(Q) == 0:
print(-1)
else:
print(Q[0])
elif command[0] == "back":
if len(Q) == 0:
print(-1)
else:
print(Q[-1])