λ¬Έμ
νμ΄
"ν2"λ "ν"λΌλ λ¬Έμ μμ "νμ κ°μ₯ λ€μμλ μ μλ₯Ό μΆλ ₯νλ€" λΌλ κΈ°λ₯μ΄ μΆκ°λ λ¬Έμ μ΄λ€.
κ·Έλ κ² νμλλ° μ²μμλ μκ° μ΄κ³Όκ° λ΄λ€.
System.out. μΌλ‘ λ°λ‘ λ°λ‘ μΆλ ₯νλλ°
μ’ λ λΉ λ₯Έ BufferedWrtierλ₯Ό μ΄μ©ν΄μ
λ΄μλ¨λ€κ° λΏλ €μ£Όμλλ μκ°μ΄κ³Όκ° ν΄κ²°λλ€.
κ·Έλ¦¬κ³ λμ λ€μ μ μΆνλλ° νλ Έμ΅λλ€λΌκ³ λ΄λ€.
μκ³ λ΄€λλ νμ κ°μ₯ λ€μμλ μ μλ₯Ό μΆλ ₯νκ³ μμ κ²½μ° -1μ μΆλ ₯νλΌκ³ νλλ°
-1μ μΆλ ₯νλ ifλ¬Έμ λ§λ€μ§ μμμλ€.
κ·Έλ¦¬κ³ pop ν¨μλ₯Ό λ§λ€ λ queue.isEmpty()κ° μλ queue.size() >0 μ΄λΌ μΌλλ°
queue.isEmpty()λ‘ ν΄μΌ λ μ ννκ³ λ¬Έλ§₯μ λ§λ λ©μλ κ°λ€.
κ·Έλ κ²ν΄μ μ μΆνλλ "λ§μ΅λλ€"λΌκ³ λ΄λ€.
1. String[] input = br.readLine().split("\\s");
String λ°°μ΄λ‘ μ λ ₯κ° λ°κΈ°
package algorithm;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
public class Main {
// μ μ xλ₯Ό νμ λ£κΈ°
public int pushNum(Queue<Integer> queue, int num) {
queue.offer(num);
return num;
}
// νμμ κ°μ₯ μμ μλ μ μ μΆλ ₯, μμ κ²½μ° -1 μΆλ ₯
public int getFront(Queue<Integer> queue) {
if (queue.isEmpty()) {
return -1;
} else {
return queue.peek();
}
}
// νμ κ°μ₯ λ€μ μλ μ μ μΆλ ₯, μμ κ²½μ° -1 μΆλ ₯
public int getBack(Queue<Integer> queue, int back) {
if (queue.isEmpty()) {
return -1;
} else {
return back;
}
}
// νμ λ€μ΄μλ μ μμ κ°μ
public int getSize(Queue<Integer> queue) {
return queue.size();
}
// νκ° λΉμ΄μμΌλ©΄ 1, μλλΌλ©΄ 0
public int getEmpty(Queue<Integer> queue) {
if (queue.isEmpty()) {
return 1;
} else {
return 0;
}
}
// ν μμ νκΈ°
public int popFront(Queue<Integer> queue) {
if (queue.isEmpty()) {
return -1;
} else {
return queue.poll();
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Queue<Integer> queue = new LinkedList<>();
int current = 0;
Main queueCalc = new Main();
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
String[] input = br.readLine().split("\\s");
switch (input[0]) {
case "push":
current = queueCalc.pushNum(queue, Integer.parseInt(input[1]));
break;
case "front":
bw.write(queueCalc.getFront(queue) + "\n");
break;
case "back":
bw.write(queueCalc.getBack(queue, current) + "\n");
break;
case "size":
bw.write(queueCalc.getSize(queue) + "\n");
break;
case "empty":
bw.write(queueCalc.getEmpty(queue) + "\n");
break;
case "pop":
bw.write(queueCalc.popFront(queue) + "\n");
break;
}
}
bw.flush();
bw.close();
}
}
2. StringTokenizer st = new StringTokenizer(br.readLine());
String command = st.nextToken();
λ°λ‘ nextToken()μΌλ‘ λ°κΈ°
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.LinkedList;
import java.util.Queue;
import java.util.StringTokenizer;
public class Main {
// μ μ xλ₯Ό νμ λ£κΈ°
public int pushNum(Queue<Integer> queue, int num) {
queue.offer(num);
return num;
}
// νμμ κ°μ₯ μμ μλ μ μ μΆλ ₯, μμ κ²½μ° -1 μΆλ ₯
public int getFront(Queue<Integer> queue) {
if (queue.isEmpty()) {
return -1;
} else {
return queue.peek();
}
}
// νμ κ°μ₯ λ€μ μλ μ μ μΆλ ₯, μμ κ²½μ° -1 μΆλ ₯
public int getBack(Queue<Integer> queue, int back) {
if (queue.isEmpty()) {
return -1;
} else {
return back;
}
}
// νμ λ€μ΄μλ μ μμ κ°μ
public int getSize(Queue<Integer> queue) {
return queue.size();
}
// νκ° λΉμ΄μμΌλ©΄ 1, μλλΌλ©΄ 0
public int getEmpty(Queue<Integer> queue) {
if (queue.isEmpty()) {
return 1;
} else {
return 0;
}
}
// ν μμ νκΈ°
public int popFront(Queue<Integer> queue) {
if (queue.isEmpty()) {
return -1;
} else {
return queue.poll();
}
}
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
Queue<Integer> queue = new LinkedList<>();
int current = 0;
Main queueCalc = new Main();
int n = Integer.parseInt(br.readLine());
for (int i = 0; i < n; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
String command = st.nextToken();
switch (command) {
case "push":
current = queueCalc.pushNum(queue, Integer.parseInt(st.nextToken()));
break;
case "front":
bw.write(queueCalc.getFront(queue) + "\n");
break;
case "back":
bw.write(queueCalc.getBack(queue, current) + "\n");
break;
case "size":
bw.write(queueCalc.getSize(queue) + "\n");
break;
case "empty":
bw.write(queueCalc.getEmpty(queue) + "\n");
break;
case "pop":
bw.write(queueCalc.popFront(queue) + "\n");
break;
}
}
bw.flush();
bw.close();
}
}
μ λ΅
1.
2.
2λ²μ΄ λ λΉ λ₯΄λ€.
'π°ππππππππ > π±πππππππ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/Java] 볡νΈν 9046 (0) | 2023.11.18 |
---|---|
[λ°±μ€/Java] νμ ν°λ¨λ¦¬κΈ° 2346 (0) | 2023.11.17 |
[λ°±μ€/Java] μ°½μλ§μ 3028 (0) | 2023.11.13 |
[λ°±μ€/Java] κ²½κ³ 3029 (1) | 2023.11.12 |
[λ°±μ€/Java] ν΄λ¦¬μ€λ―Έλ Έ 1343 (0) | 2023.11.10 |