
Skill : Queue(Linkedlist)
큐의 메소드를 통해 값 구하기
queue.getLast() -> 다음과 같은 메소드를 통해 마지막 값 구할 수 있음.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
LinkedList<Integer> queue = new LinkedList<Integer>();
for(int i = 0; i<N; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
String command = st.nextToken();
if(command.equals("push")){
queue.add(Integer.parseInt(st.nextToken()));
}else if(command.equals("pop")){
if(queue.isEmpty()){
bw.write("-1\n");
}else{
bw.write(queue.remove()+"\n");
}
}else if(command.equals("size")){
bw.write(queue.size()+"\n");
}else if(command.equals("empty")){
if(queue.isEmpty()){
bw.write("1\n");
}else{
bw.write("0\n");
}
}else if(command.equals("front")){
if(queue.isEmpty()){
bw.write("-1\n");
}else{
bw.write(queue.peek()+"\n");
}
}else if(command.equals("back")){
if(queue.isEmpty()){
bw.write("-1\n");
}else {
bw.write(queue.getLast()+"\n");
}
}
}
bw.flush();
bw.close();
}
}