백준 28279번 덱2
import java.util.ArrayDeque;
import java.util.Deque;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
Deque<Integer> store = new ArrayDeque<>();
StringBuilder output = new StringBuilder();
int size = in.nextInt();
for (int i = 0; i < size; i++) {
int number = in.nextInt();
if (number == 1) {
int firstInput = in.nextInt();
store.addFirst(firstInput);
}
if (number == 2) {
int lastInput = in.nextInt();
store.addLast(lastInput);
}
if (number == 3) {
if (!store.isEmpty()) {
output.append(store.pollFirst()).append("\n");
}else{
output.append(-1).append("\n");
}
}
if (number == 4) {
if (!store.isEmpty()) {
output.append(store.pollLast()).append("\n");
}else{
output.append(-1).append("\n");
}
}
if (number == 5) {
output.append(store.size()).append("\n");
}
if (number == 6) {
if (store.isEmpty()) {
output.append(1).append("\n");
} else {
output.append(0).append("\n");
}
}
if (number == 7) {
if (!store.isEmpty()) {
output.append(store.peekFirst()).append("\n");
}else{
output.append(-1).append("\n");
}
}
if (number == 8) {
if (!store.isEmpty()) {
output.append(store.peekLast()).append("\n");
}else{
output.append(-1).append("\n");
}
}
}
System.out.println(output.toString());
}
}