728x90
๋ฐ์ํ
โ๋ฌธ์
https://www.acmicpc.net/problem/28278
๐์ ํ
์คํ
โ๐ปํ์ด
1๋ฒ ๋ช
๋ น์ด์ ๊ณต๋ฐฑ ๋ค ์ค๋ ์ซ์๋ ์คํ์ push.
2๋ฒ ๋ช
๋ น์ด ์
๋ ฅ ์ stack.empty()๋ผ๋ฉด -1 ์๋๋ผ๋ฉด stack.pop()์ผ๋ก ์คํ์์ ๋นผ๋ ๋์์ ์ถ๋ ฅ.
3๋ฒ ๋ช
๋ น์ด ์
๋ ฅ ์ stack.size()๋ก ํฌ๊ธฐ ์ถ๋ ฅ.
4๋ฒ ๋ช
๋ น์ด ์
๋ ฅ ์ stack.empty()๋ผ๋ฉด 1 ์๋๋ฉด 0 ์ถ๋ ฅ.
5๋ฒ ๋ช
๋ น์ด ์
๋ ฅ ์ stack.empty()๋ผ๋ฉด -1 ์๋๋ฉด stack.peek()์ผ๋ก stack์ top ๊ฐ ์ถ๋ ฅ.
๐ป์ฝ๋
import java.util.*;
import java.io.*;
public class Main {
static int n;
static BufferedReader r = new BufferedReader(new InputStreamReader(System.in)); // ์
๋ ฅ
public static void main(String[] args) throws IOException {
n = Integer.parseInt(r.readLine());
Stack<Integer> stack = new Stack<>();
StringTokenizer st;
while (n-- > 0) {
st = new StringTokenizer(r.readLine());
String c = st.nextToken();
if (c.equals("1")) {
stack.push(Integer.parseInt(st.nextToken()));
} else if (c.equals("2")) {
System.out.println(stack.empty() ? -1 : stack.pop());
} else if (c.equals("3")) {
System.out.println(stack.size());
} else if (c.equals("4")) {
System.out.println(stack.empty() ? 1 : 0);
} else {
System.out.println(stack.empty() ? -1 : stack.peek());
}
}
}
}
๐ก์๋กญ๊ฒ ์๊ฒ ๋ ๋ด์ฉ
**BufferWriter, BufferReader**
- ๊ธฐ์กด์ Scanner๋ System.out ๋ณด๋ค ๋น ๋ฅด๊ฒ ์ํ ๊ฐ๋ฅ.
- IOException ์์ธ ์ฒ๋ฆฌ ํ์. ํจ์์์ throws๋ก ์ฒ๋ฆฌํ๊ฑฐ๋ try catch๋ฌธ ํ์.
- BufferWriter.write()๋ ๊ดํธ ์์ ๊ฐ์ ์ถ๋ ฅํจ. ์ด ๋, ํ๋ผ๋ฏธํฐ๋ก char๋ string์ ๋ฐ๊ธฐ ๋๋ฌธ์ ์ซ์๋ฅผ
์ถ๋ ฅํ๊ณ ์ถ์ผ๋ฉด, String.valueOf๋ก ๊ฐ์ธ์ผ ํจ.
**StringTokenizer**
- ๊ณต๋ฐฑ์ผ๋ก ๊ฐ์ ๊ตฌ๋ถํ๋ ๊ฒฝ์ฐ, StringTokenizer๋ฅผ ์ฌ์ฉํ๋ฉด ๋น ๋ฅด๊ฒ ์ฒ๋ฆฌํ ์ ์์.
- bufferreader.readLine().split(" ")์ผ๋ก๋ ๊ฐ๋ฅํ๋ ๋น๊ต์ ๋๋ฆผ.
728x90
๋ฐ์ํ
'Coding Test > Algorithms' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Baekjoon] 15649.N๊ณผ M (1)/Java - Silver3 (0) | 2024.09.29 |
---|---|
[ํ๋ก๊ทธ๋๋จธ์ค] ์ฃผ์๊ฐ๊ฒฉ/Java - Lv.2 (0) | 2024.09.29 |
[ํ๋ก๊ทธ๋๋จธ์ค] ์์/Python - Lv.3 (1) | 2024.09.28 |
[Baekjoon] 2750. ์ ์ ๋ ฌํ๊ธฐ/Java - Bronze2 (1) | 2024.09.28 |
[Baekjoon] 1546. ํ๊ท /Java - Bronze1 (1) | 2024.09.28 |