[99클럽 코테 스터디 14일차 TIL] 백준 10845 큐

말하는 감자·2024년 11월 10일
0
post-thumbnail

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 반환.
profile
나는 말하는 감자다

0개의 댓글