반응형
📖 문제
📋 코드
import java.util.*;
public class Main {
public static Stack<Integer> stack = new Stack<>();
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
StringBuffer sb = new StringBuffer();
int N = sc.nextInt();
for (int i = 0; i < N; i++) {
String s = sc.next();
switch (s) {
case "push":
int x = sc.nextInt();
stack.push(x);
break;
case "pop":
sb.append(pop()).append('\n');
break;
case "size":
sb.append(size()).append('\n');
break;
case "empty":
sb.append(empty()).append('\n');
break;
case "top":
sb.append(top()).append('\n');
break;
}
}
System.out.println(sb);
}
public static int pop() {
if (stack.isEmpty()) {
return -1;
} else {
int tmp = stack.peek();
stack.pop();
return tmp;
}
}
public static int size() {
return stack.size();
}
public static int empty() {
if (stack.isEmpty()) {
return 1;
} else {
return 0;
}
}
public static int top() {
if (stack.isEmpty()) {
return -1;
} else {
return stack.peek();
}
}
}
👨🏻💻 결과
📕 풀이 방법
명령 N 이 최대 10,000이고 명령마다 println으로 출력 시 시간 초과가 발생할 수 있으므로
StringBuilder를 사용해줍시다!
🔗 링크
반응형
'🧩PS > 🥉Easy' 카테고리의 다른 글
[JAVA] 백준 4949번 - 균형잡힌 세상 (0) | 2021.11.29 |
---|---|
[JAVA] 백준 10773번 - 제로 (0) | 2021.11.23 |
[JAVA] 백준 1676번 - 팩토리얼 0의 개수 (0) | 2021.11.23 |
[JAVA] 백준 9375번 - 패션왕 신해빈 (0) | 2021.11.19 |
[JAVA] 백준 1010번 - 다리 놓기 (0) | 2021.11.18 |