문제 : 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 |