이번엔 요즘 내가 풀었던 문제중 가장 간단했던 문제였다.
import java.io.*;
import java.util.Stack;
public class S10828 {
public static void main(String[] args) {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
Stack<Integer> stack = new Stack<>();
try {
int T = Integer.parseInt(br.readLine());
while(T --> 0) {
String command = br.readLine().trim();
if(command.startsWith("push"))
stack.push(Integer.valueOf(command.substring(5)));
else if(command.equals("pop"))
sb.append((stack.empty() ? -1 : stack.pop()) + "\n");
else if(command.equals("size"))
sb.append(stack.size() + "\n");
else if(command.equals("empty"))
sb.append((stack.empty() ? 1 : 0) + "\n");
else if(command.equals("top"))
sb.append((stack.empty() ? -1 : stack.peek()) + "\n");
}
System.out.println(sb);
} catch(IOException ioe) {}
}
}
문자열을 조금만 다룰 줄 알아도 해결할 수 있다.
설명은 생략하겠다.
'알고리즘 분류 > 스택 알고리즘' 카테고리의 다른 글
에디터 1406 JAVA (0) | 2023.04.09 |
---|---|
스택 수열 1874 JAVA (0) | 2023.04.08 |
4949 균형잡힌 세상 JAVA (0) | 2023.04.06 |
9012 괄호 JAVA (0) | 2023.04.06 |
10773 제로 JAVA (0) | 2023.04.06 |