728x90
반응형
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Test_18258 {
static int[] queue;
static int front = 0;
static int back = 0;
static int size = 0;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
queue= new int[N];
for(int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine(), " ");
switch(st.nextToken()) {
case "push":
push(Integer.parseInt(st.nextToken()));
break;
case "front":
sb.append(front()).append('\n');
break;
case "back":
sb.append(back()).append('\n');
break;
case "size":
sb.append(size()).append('\n');
break;
case "empty":
sb.append(empty()).append('\n');
break;
case "pop":
sb.append(pop()).append('\n');
break;
}
}
System.out.println(sb);
}
static void push(int n) {
queue[back++] = n;
size++;
}
static int front() {
if(size() == 0) { // queue가 비었을 때
return -1;
} else {
return queue[front];
}
}
static int back() {
if(size() == 0) { // queue가 비었을 때
return -1;
} else {
return queue[back - 1]; // 값은 back - 1 에 있으므로
}
}
static int size() {
return size;
}
static int empty() {
if(size() == 0) { // queue가 비었을 때
return 1;
} else {
return 0;
}
}
static int pop() {
if(size() == 0) { // queue가 비었을 때
return -1;
}
size--;
return queue[front++];
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
(백준) 2164번 : 카드2 - 자바[JAVA] (0) | 2021.09.16 |
---|---|
(백준) 10828번 : 스택 - 자바[JAVA] (0) | 2021.09.15 |
(백준) 4949번 : 균형잡힌 세상 - 자바[JAVA] (0) | 2021.09.14 |
(백준) 11866번 : 요세푸스 문제 0 - 자바[JAVA] (0) | 2021.09.13 |
(백준) 2902번 : KMP는 왜 KMP일까? - 자바[JAVA] (0) | 2021.09.10 |
댓글