문제: https://www.acmicpc.net/problem/28278
1. 코드
import java.util.*;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
Stack <Integer> stack = new Stack<>();
StringBuilder sb = new StringBuilder();
while(N-- > 0) {
int cmd = sc.nextInt();
switch(cmd) {
case 1: stack.push(sc.nextInt()); break;
case 2:
if(stack.isEmpty())
sb.append(-1).append('\n');
else
sb.append(stack.pop()).append('\n');
break;
case 3: sb.append(stack.size()).append('\n'); break;
case 4:
if(stack.isEmpty())
sb.append(1).append('\n');
else
sb.append(0).append('\n');
break;
case 5:
if(stack.isEmpty())
sb.append(-1).append('\n');
else
sb.append(stack.peek()).append('\n');
break;
}
}
System.out.println(sb.toString());
}
}
2. 설명
StringBuilder를 이용하여 문자열을 한번에 출력하는 내용외에는 특별한 것이 없습니다.
'컴퓨터 > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 - 28279번: 덱 2 [Java] (0) | 2023.09.29 |
---|---|
백준 알고리즘 - 12789번: 도키도키 간식드리미 [Java] (0) | 2023.09.27 |
백준 알고리즘 - 13909번: 창문 닫기 [Java] (0) | 2023.09.25 |
백준 알고리즘 - 17103번: 골드바흐 파티션 [Java] (0) | 2023.09.24 |
백준 알고리즘 - 4134번: 다음 소수 [Java] (0) | 2023.09.22 |