
접근법
큐를 사용하여 입력문에 적절한 수행하는 프로그램을 만든다.
push 는 offer 
pop 은 poll (값을 리턴하고 삭제한다)
front 는 peek(값만 리턴함) 
back 을 위해  저장을 할 때 last 에 마지막에 입력된 수를 저장함. 풀이
public class Main_18258  {
	public static void main(String[] args) throws IOException{
		 BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
	     BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
	        
	     int n = Integer.parseInt(br.readLine());
	     
	     Queue<Integer> queue = new LinkedList<>();
	     int last = -1;
	     
	     for(int i = 0 ; i<n ; i++) {
	    	 String k = br.readLine();
	    	 String[] list = k.split(" ");
	    	 String name = list[0];
	    	 
	    	 switch (name) {
				case "push": {
					int value = Integer.parseInt(list[1]);
					queue.offer(value);
					last = value;
					break;
				}
				case "pop": {
					if(queue.isEmpty()) {
						bw.write("-1\n");
					}else {
						bw.write(queue.poll()+"\n");
					}
					break;
							}
				case "size": {
					bw.write(queue.size()+"\n");
					break;
				}
				case "empty": {
					bw.write(queue.isEmpty() ? "1\n" : "0\n");
					break;
				}
				case "front": {
					if(queue.isEmpty()) {
						bw.write("-1\n");
					}else {
						bw.write(queue.peek()+"\n");
					}
					break;
				}
				case "back": {
					 if (queue.isEmpty()) {
	                        bw.write("-1\n");
	                    } else {
	                        bw.write(last + "\n");
	                    }
					break;
				}
				
			}
	     }
			bw.flush();
			bw.close();
			br.close();
    }
	
}Share article