Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 2164 자바
- 그리디
- 1010 자바
- 파이썬
- dfs
- 자바 1003
- 2798 자바
- 백준 10866 자바
- 2346 풍선 터뜨리기
- 자바 2164
- 데보션영 3기
- 백준 2346 자바
- 백준
- 2748 자바
- IAM 사용자
- 10807 자바
- 1764 자바
- 10813 자바
- BFS
- 자바 10866
- 10810 자바
- 자바 28278
- 티움투어
- 백준 1764 자바
- 코딩테스트
- 백준 28278 자바
- IAM Identity Center
- 자바 2346
- 28278 스택 2
- 자바
Archives
- Today
- Total
자두의 데브로그
[자바] 백준 28278번 스택 2 본문
https://www.acmicpc.net/problem/28278
[문제 이해]
덱,,,을 사용해서 쉽게 풀어보려고 했더니 또또 시간초과나고 난리남.. 흠 이유는 모르겠으나 intelliJ에서 돌리면 숫자 명령어에 대해서 출력이 바로 나오지 않는데 도대체 왜 맞은 건지 모르겠다며,, 무튼 문제 자체는 어렵지 않았으나 내일은 BufferedWriter를 진짜 마스터해야겠다고 느꼈다. 문제를 이해하지 못해서 못 푼 게 아니라 입출력에서 시간초과 뜨는 건 너무 하잖아~
[문제 풀이]
1이 들어올 때만 약간 다른데 StringTokenizer 이용해서 한 줄에 들어오는 다음 숫자 가져다가 stack에 넣으면 되는 부분이라 크게 어려운 건 없었다.
import java.io.*;
import java.util.*;
public class Main {
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> stack = new Stack<>();
int N = Integer.parseInt(br.readLine());
for(int i = 0; i < N; i++){
StringTokenizer st = new StringTokenizer(br.readLine());
String str = st.nextToken();
switch (str){
case "1":
stack.push(Integer.parseInt(st.nextToken()));
break;
case "2":
if(stack.isEmpty()){
bw.write("-1\n");
}
else{
bw.write(stack.pop()+ "\n");
}
break;
case "3":
bw.write(stack.size() + "\n");
break;
case "4":
if(stack.isEmpty()){
bw.write("1\n");
}
else{
bw.write("0\n");
}
break;
case "5":
if(stack.isEmpty()){
bw.write("-1\n");
}
else{
bw.write(stack.peek() + "\n");
}
break;
}
}
bw.flush();
bw.close();
}
}
내일 덱으로도 풀어봐야겠다. 다른 분들꺼 찾아보니까 다 stack으로만 푸셨던데 stack보다 deque으로 푸는 게 더 빠르지 않은가 하는 생각이... (잘모름)
'코딩테스트 > Java' 카테고리의 다른 글
[자바] 백준 10870번 피보나치 수 5, 2748번 피보나치 수 2 (0) | 2024.07.04 |
---|---|
[자바] 10807번 개수 세기, 10810번 공 넣기, 10813번 공 바꾸기 (0) | 2024.07.04 |
[자바] 백준 10773번 제로 (0) | 2024.07.03 |
[자바] 백준 2346번 풍선 터뜨리기 (0) | 2024.07.02 |
[자바] 백준 10866번 덱 (2) | 2024.07.02 |