곽로그

[백준 10845] 큐 본문

알고리즘/백준

[백준 10845] 큐

일도이동 2020. 1. 4. 15:12
반응형

문제

 

10845번: 큐

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 않은 명령이 주어지는 경우는 없다.

www.acmicpc.net

 

코드

package queue;

import java.util.ArrayList;
import java.util.Scanner;

class Queue{
	ArrayList<Integer> queue;
	
	public Queue() {
		queue=new ArrayList<Integer>();
	}
	
	public void push(int X) {
		queue.add(X);
	}
	
	public int pop() {
		if(this.size()>0) {
			return queue.remove(0);
		}
		else {
			return -1;
		}
	}
	
	public int size() {
		return queue.size();
	}
	
	public int empty() {
		if(this.size()<1) {
			return 1;
		}
		else {
			return 0;
		}
	}
	public int front() {
		if(this.size()>0) {
			return queue.get(0);
		}
		else {
			return -1;
		}
	}
	public int back() {
		if(this.size()>0) {
			return queue.get(this.size()-1);
		}
		else {
			return -1;
		}
	}
	
}
public class QueueDemo {
	public static void main(String[] args) {
		Queue queue=new Queue();
		Scanner in=new Scanner(System.in);
		int N=in.nextInt();
		
		for(int i=0;i<N;i++) {
			String command=in.next();
			
			if(command.equals("push")) {
				int num=in.nextInt();
				queue.push(num);
			}
			else if(command.equals("pop")) {
				System.out.println(queue.pop());
			}
			else if(command.equals("size")) {
				System.out.println(queue.size());
			}
			else if(command.equals("empty")) {
				System.out.println(queue.empty());
			}
			else if(command.equals("front")) {
				System.out.println(queue.front());
			}
			else if(command.equals("back")) {
				System.out.println(queue.back());
			}
			else {
				System.out.println("코드 다시 짜3");
			}
			
		}
	}
}

 

 

반응형

'알고리즘 > 백준' 카테고리의 다른 글

[백준 10866] 덱  (0) 2020.01.12
[백준1966] 프린터 큐  (0) 2020.01.12
[백준 9012] 괄호  (0) 2019.12.29
[백준 10828] 스택  (0) 2019.12.28
[백준 1874] 스택수열  (0) 2019.12.27
Comments