99클럽 코테 스터디 14일차 TIL
💙 JAVA 비기너
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
public class Main {
public static void main(String[] args) throws IOException {
Queue<String> queue = new LinkedList<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
String last = "0";
for (int i=0; i<N; i++) {
String[] command = br.readLine().split(" ");
switch(command[0]) {
case "push" :
last = command[1];
queue.add(command[1]);
break;
case "pop" :
bw.write(queue.size() == 0 ? "-1" : queue.remove());
bw.write("\n");
break;
case "size" :
bw.write(String.valueOf(queue.size()));
bw.write("\n");
break;
case "empty" :
bw.write(queue.size() == 0 ? "1" : "0");
bw.write("\n");
break;
case "front" :
bw.write(queue.size() == 0 ? "-1" : queue.peek());
bw.write("\n");
break;
case "back" :
bw.write(queue.size() == 0 ? "-1" : last);
bw.write("\n");
break;
}
}
br.close();
bw.flush();
bw.close();
}
}
선입선출하는 Queue를 이용하는 코드이다.
Queue 기본 함수
- Queue.add(item) : 큐에 아이템을 삽입. 성공시 true를 반환, 큐가 꽉 찬 경우 IllegalStateException 에러 발생.
- Queue.offer(item) : 큐에 아이템을 삽입. 성공시 true를, 실패 시 false를 반환.
- Queue.remove() : 큐의 맨 앞에 있는 값 반환 후 삭제. 큐가 비어 있는 경우 NoSuchElementException 에러 발생.
- Queue.poll() : 큐의 맨 앞에 있는 값 반환 후 삭제. 큐가 비어 있는 경우 null 반환.
- Queue.clear() : 큐 초기화.
- Queue.element() : 큐의 맨 앞에 있는 값 반환. 큐가 비어 있는 경우 NoSuchElementException 에러 발생.
- Queue.peek() : 큐의 맨 앞에 있는 값 반환. 큐가 비어 있는 경우 null 반환.