[백준] 10828번 스택 - Java, 자바
문제
https://www.acmicpc.net/problem/10828
코드
import java.io.*;
import java.util.Stack;
// 10828번 스택
public class boj_1_10828 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
// 스택 사용
Stack<Integer> s = new Stack<>();
int num = Integer.parseInt(br.readLine());
for (int i = 0; i < num; i++) {
String[] input = br.readLine().split(" ");
switch (input[0]) {
case "push":
s.push(Integer.parseInt(input[1]));
break;
case "pop":
if (s.empty()) {
bw.write("-1" + "\n");
} else {
bw.write(s.pop() + "\n");
}
break;
case "size":
bw.write(s.size() + "\n");
break;
case "empty":
if (s.empty()) {
bw.write("1" + "\n");
} else {
bw.write("0" + "\n");
}
break;
case "top":
if (s.empty()) {
bw.write("-1" + "\n");
} else {
bw.write(s.peek() + "\n");
}
break;
}
}
bw.flush();
bw.close();
}
}
풀이
스택에 관한 정석적인 문제
Stack<Integer> s = new Stack<>();
s.push(i); // 스택의 값 넣기
s.pop(); // 스택의 가장 위의 값 빼고 출력하기
s.size(); // 스택의 크기
s.peek(); // 스택의 가장 위의 값 조회
위와 같이 쓸 줄 알면 된다.
Author And Source
이 문제에 관하여([백준] 10828번 스택 - Java, 자바), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@kimmjieun/백준-10828번-스택-Java-자바저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)