728x90
https://www.acmicpc.net/problem/10828
java에서 제공하는 스택을 사용하였다!
시간제한이 0.5초이기 때문에, stringbuilder를 사용하였음
Bufferedreader에 익숙해지려고 Bufferedreader를 사용하였는데 push 다음의 값을 읽는 것이 처음에 헷갈렸다!
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Stack; //import
import java.util.StringTokenizer;
public class Main_스택10828 {
public static void main(String[] args) throws NumberFormatException, IOException {
Stack<Integer> stack = new Stack<>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
while(N-- > 0) {
st = new StringTokenizer(br.readLine(), " ");
switch(st.nextToken()) {
case "push":
stack.push(Integer.parseInt(st.nextToken()));
break;
case "pop":
if(stack.isEmpty()) {
sb.append(-1 + "\n");
}
else {
sb.append(stack.pop() + "\n");
}
break;
case "size":
sb.append(stack.size() + "\n");
break;
case "empty":
if(stack.isEmpty())
sb.append(1 + "\n");
else
sb.append(0 + "\n");
break;
case "top":
if(stack.isEmpty()) {
sb.append(-1 + "\n");
}
else {
sb.append(stack.peek() + "\n");
}
break;
}
}
System.out.println(sb);
}
}
728x90
'CS > Algorithm' 카테고리의 다른 글
[Python] 주요 라이브러리의 문법 (0) | 2022.01.31 |
---|---|
[Python] 함수 & 입출력 (0) | 2022.01.31 |
[백준 : 2751/JAVA] 수 정렬하기2 (0) | 2021.10.04 |
[ 백준:1167/JAVA ] 트리의 지름 (0) | 2021.09.19 |
[JAVA / 백준 : 1956 ] 운동 (0) | 2021.09.13 |