728x90
반응형
입력후 한번에 출력
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Test_10828 {
static int[] stack;
static int size = 0;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
stack = new int[N];
for(int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine(), " ");
switch(st.nextToken()) {
case "push":
push(Integer.parseInt(st.nextToken()));
break;
case "top":
sb.append(top()).append('\n');
break;
case "size":
sb.append(size()).append('\n');
break;
case "empty":
sb.append(empty()).append('\n');
break;
case "pop":
sb.append(pop()).append('\n');
break;
}
}
System.out.println(sb);
}
static void push(int n) {
stack[size++] = n; // 값을 넣고 size + 1
}
static int top() {
if(size == 0) { // stack이 비었을 때
return -1;
} else {
return stack[size - 1]; // 값은 size - 1 에 있으므로
}
}
static int size() {
return size;
}
static int empty() {
if(size == 0) { // stack이 비었을 때
return 1;
} else {
return 0;
}
}
static int pop() {
if(size == 0) { // stack이 비었을 때
return -1;
}
return stack[--size];
}
}
입력 후 바로 출력되는 코드
package test;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.StringTokenizer;
public class Test_10828 {
static int[] stack;
static int size = 0;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb = new StringBuilder();
StringTokenizer st;
int N = Integer.parseInt(br.readLine());
stack = new int[N];
for(int i = 0; i < N; i++) {
st = new StringTokenizer(br.readLine(), " ");
switch(st.nextToken()) {
case "push":
push(Integer.parseInt(st.nextToken()));
break;
case "top":
System.out.println(top());
break;
case "size":
System.out.println(size());
break;
case "empty":
System.out.println(empty());
break;
case "pop":
System.out.println(pop());
break;
}
}
}
static void push(int n) {
stack[size++] = n; // 값을 넣고 size + 1
}
static int top() {
if(size == 0) { // stack이 비었을 때
return -1;
} else {
return stack[size - 1]; // 값은 size - 1 에 있으므로
}
}
static int size() {
return size;
}
static int empty() {
if(size == 0) { // stack이 비었을 때
return 1;
} else {
return 0;
}
}
static int pop() {
if(size == 0) { // stack이 비었을 때
return -1;
}
return stack[--size];
}
}
728x90
반응형
'알고리즘' 카테고리의 다른 글
(백준) 2164번 : 카드2 - 자바[JAVA] (0) | 2021.09.16 |
---|---|
(백준) 18258번 : 큐 2 - 자바[JAVA] (0) | 2021.09.15 |
(백준) 4949번 : 균형잡힌 세상 - 자바[JAVA] (0) | 2021.09.14 |
(백준) 11866번 : 요세푸스 문제 0 - 자바[JAVA] (0) | 2021.09.13 |
(백준) 2902번 : KMP는 왜 KMP일까? - 자바[JAVA] (0) | 2021.09.10 |
댓글