import java.util.ArrayList;
import java.util.Scanner;
class MyStack {
ArrayList<Integer> stackArray;
int size;
public MyStack() {
stackArray = new ArrayList<Integer>();
size = 0;
}
public void push(int num) {
stackArray.add(num);
size++;
}
public int pop() {
if (size > 0) {
int top = stackArray.get(size - 1);
stackArray.remove(size - 1);
size--;
return top;
} else {
return -1;
}
}
public int size() {
return size;
}
public int empty(){
if (size < 1) {
return 1;
} else {
return 0;
}
}
public int top(){
if (size > 0) {
return stackArray.get(size - 1);
} else {
return -1;
}
}
}
public class Main {
public static void main(String[] args) {
int cnt;
MyStack stack = new MyStack();
Scanner sc = new Scanner(System.in);
cnt = sc.nextInt();
for(int i=0;i<cnt;i++) {
String temp = sc.next();
switch (temp) {
case "push":
int newTop = sc.nextInt();
stack.push(newTop);
break;
case "pop" :
System.out.println(stack.pop());
break;
case "size" :
System.out.println(stack.size());
break;
case "empty" :
System.out.println(stack.empty());
break;
case "top" :
System.out.println(stack.top());
break;
}
}
}
}
'알고리즘 > 백준 알고리즘(JAVA)' 카테고리의 다른 글
JAVA)1876번 스택을 사용한 수열만들기 (0) | 2020.07.14 |
---|---|
JAVA)9012번 스택으로 괄호 판정(VPS 판정) (0) | 2020.07.14 |
JAVA) 9093번 스택(Stack 클래스) 사용해서 단어 뒤집기, BufferedReader/Writer와 StringTokenizer 사용, 시간초과와 메모리초과 극복 (0) | 2020.07.13 |
JAVA)10950번 A+B (3) (0) | 2020.07.12 |
JAVA)1000번 A+B (Scanner와 BufferedReader/Writer) (0) | 2020.07.12 |
알고리즘/백준 알고리즘(JAVA)
63개JAVA)10828번 스택 구현하기(ArrayList 사용)
import java.util.ArrayList; import java.util.Scanner; class MyStack { ArrayList stackArray; int size; public MyStack() { stackArray = new ArrayList(); size = 0; } public void push(int num) { stackArray.add(num); size++; } public int pop() { if (size > 0) { int top = stackArray.get(size - 1); stackArray.remove(size - 1); size--; return top; } else { return -1; } } public int size() { return size;..
알고리즘/백준 알고리즘(JAVA) 2020.07.13 starmk95JAVA)10950번 A+B (3)
import java.util.Scanner; public class Main { public static void main(String[] args) { int cnt, A, B; Scanner sc = new Scanner(System.in); cnt = sc.nextInt(); for (int i = 0;i < cnt;i++) { A = sc.nextInt(); B = sc.nextInt(); System.out.println(A + B); } } }
알고리즘/백준 알고리즘(JAVA) 2020.07.12 starmk95JAVA)1000번 A+B (Scanner와 BufferedReader/Writer)
import java.util.Scanner; public class Main { public static void main(String[] args) { int A, B; Scanner sc = new Scanner(System.in); System.out.print("A : "); A = sc.nextInt(); System.out.print("B : "); B = sc.nextInt(); System.out.print("A + B = " + (A+B)); } } 입력은 Scanner, 출력은 System.out을 사용한다. cf) 입력이 많은 경우에는 BufferedReader 사용 (성능 개선을 위함) 출력이 많은 경우에는 BufferedWriter 사용 또는 StringBuilder를 통해 한 ..
알고리즘/백준 알고리즘(JAVA) 2020.07.12 starmk95