[BOJ 10845] 큐 (java)
문제 링크 https://www.acmicpc.net/problem/10845
문제 풀이
package basics_200;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
public class BOJ10845 {
public static void main(String[] args) throws NumberFormatException, IOException {
//자바에서의 큐는 LinkedList를 활용해서 생성함
Queue<String> queue = new LinkedList<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 테스트케이스
Integer tc = Integer.parseInt(br.readLine());
String first="";
while(tc>0) {
String s = br.readLine();
String[] array = s.split(" ");
switch(array[0]) {
case("push"):
//큐 값 추가 -> add or offer(스택은 add, queue는 주로 offer)
// add: 삽입성공-> true/ 실패-> IllegalStateException
first = array[1];
queue.offer(first);
break;
case("pop"):
//큐 값 삭제 -> remove or poll
//poll: 큐가 비어있다면 null 반환
if(queue.isEmpty()) {
System.out.println(-1);
}else {
System.out.println(queue.poll());
}
break;
case("front"):
//큐에서 가장 먼저 들어간 값
if(queue.isEmpty()) {
System.out.println(-1);
}else {
System.out.println(queue.peek());
}
break;
case("back"):
if(queue.isEmpty()) {
System.out.println(-1);
}else {
System.out.println(first);
}
break;
case("size"):
System.out.println(queue.size());
break;
case("empty"):
if(queue.isEmpty()) {
System.out.println(1);
}else {
System.out.println(0);
}
break;
}
tc--;
}
}
}
Comments