https://www.acmicpc.net/problem/10828
๐ ํ์ด : Stack
import java.io.*;
import java.util.Stack;
public class Main {
// ์ ์๋ฅผ ์ ์ฅํ๋ ์คํ์ ๊ตฌํํ ๋ค์, ์
๋ ฅ์ผ๋ก ์ฃผ์ด์ง๋ ๋ช
๋ น์ ์ฒ๋ฆฌํ๋ ํ๋ก๊ทธ๋จ
public static void main(String[] args) throws IOException {
/* [1] ์
๋ ฅ */
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine()); // ๋ช
๋ น์ ์ N
/* [2] ์คํ๊ณผ StringBuilder ์ด๊ธฐํ */
Stack<Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
/* [3] ๋ช
๋ น์ด ์ฒ๋ฆฌ ๋ฐ๋ณต๋ฌธ */
while (N-- > 0) {
String[] arr = br.readLine().split(" "); // ๋ช
๋ น
switch (arr[0]) {
case "push":
stack.push(Integer.parseInt(arr[1])); // ์คํ์ ์ ์ push
break;
case "pop":
sb.append(stack.isEmpty() ? "-1" : stack.pop()).append("\n"); // ์คํ์์ popํ๊ณ ์ถ๋ ฅ
break;
case "size":
sb.append(stack.size() + "\n"); // ์คํ์ ํฌ๊ธฐ ์ถ๋ ฅ
break;
case "empty":
sb.append((stack.isEmpty() ? "1" : "0") + "\n"); // ์คํ์ด ๋น์ด์๋์ง ํ์ธ ํ ์ถ๋ ฅ
break;
case "top":
sb.append((stack.isEmpty() ? -1 : stack.peek()) + "\n"); // ์คํ์ top ์์ ์ถ๋ ฅ
}
}
/* [4] ์ถ๋ ฅ */
System.out.print(sb);
}
}
'๐ท์๊ณ ๋ฆฌ์ฆ ๋ฌธ์ ํ์ด > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค/Java] 10816 ์ซ์ ์นด๋ 2 (0) | 2024.10.06 |
---|---|
[๋ฐฑ์ค/Java] 10773 ์ ๋ก (0) | 2024.10.04 |
[๋ฐฑ์ค/Java] 9012 ๊ดํธ(Stack) (0) | 2024.08.22 |
[๋ฐฑ์ค/Java] 4949 ๊ท ํ์กํ ์ธ์(Stack, replaceAll()) (0) | 2024.08.20 |