반응형


사실 문제 자체는 어렵지 않았습니다.
Stack을 사용하면 되기 때문이죠.
근데 시간초과로 계속 통과가 되지 않더라고요.
많이 검색하던 중 Scanner의 사용이 아닌 BufferedReader, BufferedWirter를 사용하면 통과가 됩니다.
BufferedReader는 readLine()으로 받아서 BufferedWriter에 write()를 하여 flush() 하면 한 번에 출력이 됩니다.
따라서 System.out.priuntln() 처럼 출력을 위해서는 "\n"을 해야합니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
Stack<Integer> st = new Stack<Integer>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
for(int i=0;i<n;i++) {
String[] s = br.readLine().split(" ");
if(s[0].equals("push")) {
st.push(Integer.parseInt(s[1]));
}
else if(s[0].equals("pop")) {
if(st.empty()) {
bw.write(-1+"\n");
}
else {
bw.write(st.pop()+"\n");
}
}
else if(s[0].equals("size")) {
bw.write(st.size()+"\n");
}
else if(s[0].equals("empty")) {
if(st.empty()) {
bw.write(1+"\n");
}
else {
bw.write(0+"\n");
}
}
else if(s[0].equals("top")) {
if(st.empty()) {
bw.write(-1+"\n");
}
else {
bw.write(st.peek()+"\n");
}
}
}
bw.flush();
}
}
반응형
'🔑알고리즘 > baekjoon' 카테고리의 다른 글
백준 9012 : 괄호 자바 문제 풀이 (Stack 사용 문제) (0) | 2022.01.02 |
---|---|
백준 10773 : 제로 자바 문제 풀이 (스택 사용 문제) (0) | 2022.01.02 |
백준 10250 : ACM 호텔 - 자바(Java) 문제 풀이 (0) | 2021.08.15 |
백준 2292 : 벌집 - 자바 문제 풀이 (수학 문제) (0) | 2021.08.04 |
백준 1712 : 손익분기점 - 자바 문제 풀이 (0) | 2021.08.04 |
반응형


사실 문제 자체는 어렵지 않았습니다.
Stack을 사용하면 되기 때문이죠.
근데 시간초과로 계속 통과가 되지 않더라고요.
많이 검색하던 중 Scanner의 사용이 아닌 BufferedReader, BufferedWirter를 사용하면 통과가 됩니다.
BufferedReader는 readLine()으로 받아서 BufferedWriter에 write()를 하여 flush() 하면 한 번에 출력이 됩니다.
따라서 System.out.priuntln() 처럼 출력을 위해서는 "\n"을 해야합니다.
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws NumberFormatException, IOException {
Stack<Integer> st = new Stack<Integer>();
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int n = Integer.parseInt(br.readLine());
for(int i=0;i<n;i++) {
String[] s = br.readLine().split(" ");
if(s[0].equals("push")) {
st.push(Integer.parseInt(s[1]));
}
else if(s[0].equals("pop")) {
if(st.empty()) {
bw.write(-1+"\n");
}
else {
bw.write(st.pop()+"\n");
}
}
else if(s[0].equals("size")) {
bw.write(st.size()+"\n");
}
else if(s[0].equals("empty")) {
if(st.empty()) {
bw.write(1+"\n");
}
else {
bw.write(0+"\n");
}
}
else if(s[0].equals("top")) {
if(st.empty()) {
bw.write(-1+"\n");
}
else {
bw.write(st.peek()+"\n");
}
}
}
bw.flush();
}
}
반응형
'🔑알고리즘 > baekjoon' 카테고리의 다른 글
백준 9012 : 괄호 자바 문제 풀이 (Stack 사용 문제) (0) | 2022.01.02 |
---|---|
백준 10773 : 제로 자바 문제 풀이 (스택 사용 문제) (0) | 2022.01.02 |
백준 10250 : ACM 호텔 - 자바(Java) 문제 풀이 (0) | 2021.08.15 |
백준 2292 : 벌집 - 자바 문제 풀이 (수학 문제) (0) | 2021.08.04 |
백준 1712 : 손익분기점 - 자바 문제 풀이 (0) | 2021.08.04 |