서비스 기획자 기록

[백준] 10845번 : 큐 - Java 본문

백준

[백준] 10845번 : 큐 - Java

주니5947 2025. 1. 19. 22:56

https://www.acmicpc.net/problem/10845



    • 문제



    • 풀이

- 큐 자료구조를 그대로 구현하면 된다.

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
 
public class Main {
	static int queue[];
	static int size = 0;
	static int front = 0;
	static int rear = 0;
	
	static void push(int val) {
		queue[rear++] = val;
		size++;
	}
	
	static void pop() {
		if (size == 0) 
			System.out.println(-1);
		else {
			int tmp = queue[front];
			queue[front++] = 0;
			size--;
			System.out.println(tmp);
		}
	}
	
	static void size() {
		System.out.println(size);
	}
	
	static void empty() {
		if (size == 0)
			System.out.println(1);
		else
			System.out.println(0);
	}
	
	static void front() {
		if (size == 0)
			System.out.println(-1);
		else 
			System.out.println(queue[front]);
	}
	
	static void back() {
		if (size == 0)
			System.out.println(-1);
		else
			System.out.println(queue[rear-1]);
	}
	
	public static void main(String[] args) throws IOException {
		
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    	StringTokenizer st;
    	
    	int N = Integer.parseInt(br.readLine());
    	queue = new int [N];
    	

    	for (int i = 0; i < N; i++) {
    		
    		st = new StringTokenizer(br.readLine(), " ");
    		String str = st.nextToken();
    		
    		switch(str) {
    		
    		case "push":
    			push(Integer.parseInt(st.nextToken()));
    			break;
    		case "pop":
    			pop();
    			break;
    		case "size":
    			size();
    			break;
    		case "empty":
    			empty();
    			break;
    		case "front":
    			front();
    			break;
    		case "back":
    			back();
    		}
    	}
	}
}

 

큐 자료구조를 그대로 구현하면 된다.

배열과 각 필드들을 적절히 활용해 메소드를 작성한다. 

'백준' 카테고리의 다른 글

[백준] 1436번 : 영화감독 숌  (4) 2025.01.19
[백준] 10828번 : 스택 - Java  (0) 2025.01.19
[백준] 1259번 : 팰린드롬수 - Java  (2) 2025.01.16
[백준] 15829번 : Hashing - Java  (0) 2025.01.16
[백준] 2231번 : 분해합 - Java  (0) 2025.01.16