반응형
Queue 구현하기(push,pop,size,empty,front,back)
Queue는 인터페이스이므로 LinkedList클래스를 사용한다.
스택과 구현방법이 거의 같다.
back을 위한 메서드가 없기 때문에 직접 구현한다.
push할 때 입력값을 last변수에 저장하면 가장 최근 입력값으로 갱신되므로,
back일 때 last를 출력해주면 가능하다.
package com.company;
import java.io.*;
import java.util.*;
public class BOJ10845 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
Queue<Integer> queue = new LinkedList<>();
int t=Integer.parseInt(br.readLine());
int last=0;
while(t-->0){
String[] order=br.readLine().split(" ");
String cmd=order[0];
if(cmd.equals("push")){
int num=Integer.parseInt(order[1]);
last=num;
queue.add(num);
}
else if(cmd.equals("pop")){
if(queue.isEmpty())
System.out.println("-1");
else
System.out.println(queue.remove());
}
else if(cmd.equals("size")){
System.out.println(queue.size());
}
else if(cmd.equals("empty")){
if(queue.isEmpty())
System.out.println("1");
else
System.out.println("0");
}
else if(cmd.equals("front")){
if(queue.isEmpty())
System.out.println("-1");
else
System.out.println(queue.peek());
}
else if(cmd.equals("back")){
if(queue.isEmpty())
System.out.println("-1");
else
System.out.println(last);
}
}
}
}
반응형
'Coding Test(Algorithms)' 카테고리의 다른 글
[JAVA] 자료구조 연습문제 - 백준 17299 (0) | 2021.07.02 |
---|---|
[JAVA] 자료구조 연습문제 - 백준 17298 (0) | 2021.07.01 |
[JAVA] 자료구조 연습문제 - 백준 10828 (0) | 2021.06.29 |
[JAVA] 자료구조 연습문제 - 백준 10799 (0) | 2021.06.28 |
[JAVA] 자료구조 연습문제 - 백준 9093 (0) | 2021.06.27 |