//GitHub https://github.com/vellimole0621
백준 10845번 : 큐
(문제 - https://www.acmicpc.net/problem/10845)
문제 설명 : 큐를 구현하라
// 10845번 큐
package S2209;
import java.util.*;
import java.io.*;
public class Main {
static int[] que = new int[10000];
static int size = 0;
static int rear = -1;
static int front = 0;
public static void main(String[] args) throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
StringBuilder sb = new StringBuilder();
for(int i = 0; i < N; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
String S = st.nextToken();
switch (S) {
case "push" :
push(Integer.parseInt(st.nextToken()));
break;
case "pop" :
sb.append(pop()).append("\n");
break;
case "size" :
sb.append(size()).append("\n");
break;
case "empty" :
sb.append(empty()).append("\n");
break;
case "front" :
sb.append(front()).append("\n");
break;
case "back" :
sb.append(back()).append("\n");
break;
}
System.out.println(sb);
}
}
public static void push(int num) {
rear++;
que[rear] = num;
size++;
}
public static int pop() {
if(size == 0){
return -1;
}else {
int P = que[front];
que[front] = 0;
front++;
size--;
return P;
}
}
public static int size() {
return size;
}
public static int empty() {
if(size == 0){
return 1;
}else {
return 0;
}
}
public static int front() {
if(size == 0){
return -1;
}else {
return que[front];
}
}
public static int back() {
if(size == 0){
return -1;
}else {
return que[rear];
}
}
}
'프로그래밍 > Java' 카테고리의 다른 글
[자바 JAVA/알고리즘] 백준 1598번 : 꼬리를 무는 숫자 나열 (0) | 2022.09.07 |
---|---|
[자바 JAVA/알고리즘] 백준 2455번 : 지능형 기차 (0) | 2022.09.05 |
[자바 JAVA/알고리즘] 백준 1236번 : 성 지키기 (0) | 2022.09.03 |
[자바 JAVA/알고리즘] 백준 1259번 : 팰린드롬수 (0) | 2022.08.31 |
[자바 JAVA/알고리즘] 백준 9012번 : 괄호 (0) | 2022.08.23 |