[백준] 큐 - 10845

✅나의 문제 풀이
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
int n = Integer.parseInt(br.readLine());
int last = -1;
Queue<Integer> queue = new LinkedList<>();
for(int i = 0; i<n; i++){
String line = br.readLine();
if(line.startsWith("push")){
int val = Integer.parseInt(line.substring(5).trim());
queue.offer(val);
last = val;
}else if(line.equals("pop")){
sb.append(queue.isEmpty()? -1 : queue.poll()).append('\n');
}else if(line.equals("size")){
sb.append(queue.size()).append('\n');
}else if(line.equals("empty")){
sb.append(queue.isEmpty() ? 1 : 0).append('\n');
}else if(line.equals("front")){
sb.append(queue.isEmpty()? -1 : queue.peek()).append('\n');
}else if(line.equals("back")){
sb.append(queue.isEmpty()? -1 : last).append('\n');
}
}
System.out.println(sb.toString());
}
}

큐(FIFO)
- offer() : 큐에 값을 넣는 메서드
- poll() : 큐에서 값 하나를 출력하고 그 값을 큐에서 제거
- peek() : 큐에서 값 하나를 출력. 큐에서 제거는 안함
- size() : 큐에 들어있는 데이터 개수 출력
- isEmpty() : 큐가 비어있는지 확인. 큐가 비어있으면 true, 비어있지 않으면 false