문제 : https://www.acmicpc.net/problem/10828
import java.util.LinkedList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
InnerStack s = new InnerStack();
int input = Integer.parseInt(scan.next());
for(int i = 0 ; i < input ; i++) {
String str = scan.next();
if("push".equals(str)) {
int num = Integer.parseInt(scan.next());
s.push(num);
}else if("pop".equals(str)) {
System.out.println(s.pop());
}else if("size".equals(str)) {
System.out.println(s.size());
}else if("empty".equals(str)) {
System.out.println(s.isEmpty());
}else if("top".equals(str)) {
System.out.println(s.top());
}
}
}
public static class InnerStack {
InnerStack(){
}
List list = new LinkedList<>();
private int cursor = 0 ;
public void push(int i ) {
list.add(i);
cursor++;
}
public int pop() {
int res;
if(cursor > 0) {
res=list.get(cursor-1);
list.remove(cursor-1);
cursor--;
}else {
res = -1;
}
return res;
}
public int top() {
int res;
if(cursor > 0) {
res=list.get(cursor-1);
}else {
res = -1;
}
return res;
}
public int size() {
return cursor;
}
public int isEmpty() {
int res;
if (cursor ==0) {
res = 1;
}else {
res = 0;
}
return res;
}
}
}
'알고리즘 > 심심풀이 문제풀기' 카테고리의 다른 글
[심심풀이 백준문제풀기] 2606번 바이러스 (0) | 2018.04.13 |
---|---|
[심심풀이 백준문제풀기] 9012번 괄호 (0) | 2018.04.10 |
[심심풀이 백준문제풀기] 2750번 수 정렬하기 (버블정렬) (0) | 2018.04.07 |
[심심풀이 백준문제풀기] 2750번 수 정렬하기 (삽입정렬) (0) | 2018.04.07 |
[심심풀이 백준문제풀기] 1149번 RGB거리 (0) | 2018.03.16 |