Algorithm
[백준-10845번/Java] 큐
1984
2022. 11. 14. 15:52
* java.util.Queue 클래스 사용법 공부하기
[Queue/LinkedList 로 구현]
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Queue<Integer> queue = new LinkedList<>();
int N = scan.nextInt();
int i = 0;
for (int j = 0; j < N; j++) {
String cmd = scan.next();
if (cmd.equals("push")) {
i = scan.nextInt();
queue.add(i);
} else if (cmd.equals("pop")) {
if (queue.size() > 0) {
bw.append(queue.poll() + "\n");
} else {
bw.append(-1 + "\n");
}
} else if (cmd.equals("size")) {
bw.append(queue.size() + "\n");
} else if (cmd.equals("empty")) {
if (queue.size() == 0) {
bw.append(1 + "\n");
} else {
bw.append(0 + "\n");
}
} else if (cmd.equals("front")) {
if (queue.size() == 0) {
bw.append(-1 + "\n");
} else {
bw.append(queue.peek() + "\n");
}
} else if (cmd.equals("back")) {
if (queue.size() == 0) {
bw.append(-1 + "\n");
} else {
bw.append(i + "\n");
}
}
}
bw.flush();
bw.close();
scan.close();
}
}
[ArrayList 로 구현]
import java.io.*;
import java.util.*;
public class Main {
static ArrayList<Integer> arr = new ArrayList<Integer>();
public static void main(String[] args) throws IOException {
Scanner scan = new Scanner(System.in);
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = scan.nextInt();
for (int j = 0; j < N; j++) {
String cmd = scan.next();
if (cmd.equals("push")) {
int i = scan.nextInt();
arr.add(i);
} else if (cmd.equals("pop")) {
if (arr.size() > 0) {
int num = arr.get(0);
arr.remove(0);
bw.append(num + "\n");
} else {
bw.append(-1 + "\n");
}
} else if (cmd.equals("size")) {
bw.append(arr.size() + "\n");
} else if (cmd.equals("empty")) {
if (arr.size() == 0) {
bw.append(1 + "\n");
} else {
bw.append(0 + "\n");
}
} else if (cmd.equals("front")) {
if (arr.size() == 0) {
bw.append(-1 + "\n");
} else {
bw.append(arr.get(0) + "\n");
}
} else if (cmd.equals("back")) {
if (arr.size() == 0) {
bw.append(-1 + "\n");
} else {
bw.append(arr.get(arr.size() - 1) + "\n");
}
}
}
bw.flush();
bw.close();
scan.close();
}
}
728x90