백준 10845 큐 (Queue) JAVA
Queue란?
줄을 지어 순서대로 처리되는 것
Queue의 특징
- 먼저 들어간 자료가 먼저 나오는 FIFO구조
- 큐는 한 쪽 끝은 font로 정하여 삭제 연산만 수행
- 다른 한 쪽 끝은 리어로 정하여 삽입 연산만 수행
- 그래프의 넓이 우선 탐색 (BFS)에서 사용
- 컴퓨터 버퍼에서 주로 사용.
자바에서 큐는 LinkedList 활용
package baekjoon;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Queue_10845 {
public static void main(String args[]) throws IOException {
Queue<Integer> queue=new LinkedList<>();
BufferedReader bf=new BufferedReader(new InputStreamReader(System.in));
int N=Integer.parseInt(bf.readLine());
int b=0;
for(int i=0;i<N;i++) {
StringTokenizer st=new StringTokenizer(bf.readLine());
String S=st.nextToken();
switch(S){
case "push":
int num=Integer.parseInt(st.nextToken());
queue.add(num);
b=num;
break;
case "pop":
if(queue.isEmpty()) {
System.out.println(-1);
} else {
System.out.println(queue.poll());
}
break;
case "size":
System.out.println(queue.size());
break;
case "empty":
if(queue.isEmpty()){
System.out.println(1);
}
else {
System.out.println(0);
}
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(b);
}
break;
}
}
}
}
참고 : https://coding-factory.tistory.com/602
Author And Source
이 문제에 관하여(백준 10845 큐 (Queue) JAVA), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@dovnaldisn/큐저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)