somdaa / algorithmstudy

0 stars 0 forks source link

week-02. Stack-stack #4

Open ewqsaz123 opened 6 years ago

ewqsaz123 commented 6 years ago

https://www.acmicpc.net/problem/10828

levi-yo commented 6 years ago

import java.util.ArrayList; import java.util.Iterator; import java.util.Scanner; import java.util.Stack;

public class Main {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    Scanner sc=new Scanner(System.in);
    Stack s= new Stack();
    ArrayList list=new ArrayList<>();
    int n=Integer.parseInt(sc.nextLine());
    for(int i=0;i<n;i++){
        String str=sc.nextLine();
        if(str.contains("push")){
            String[] sArr=str.split(" ");
            s.push(sArr[1]);
        }else if(str.contains("pop") && !s.isEmpty()){
            list.add(s.pop());
        }else if(str.contains("pop") && s.isEmpty()){
            list.add(-1);
        }else if(str.contains("size")){
            list.add(s.size());
        }else if(str.contains("empty")){
            list.add(s.isEmpty()?1:0);
        }else{
            list.add(s.isEmpty()?-1:s.peek());
        }
    }
    Iterator it=list.iterator();
    while(it.hasNext()) System.out.println(it.next());
}

}

ewqsaz123 commented 6 years ago

import java.util.Scanner; import java.util.Stack;

public class Main {

public static void main(String[] args) {        
    Scanner sc  = new Scanner(System.in);

    int n = sc.nextInt();
    Stack<Integer> st = new Stack<>();

    for(int i=0; i<n; i++) {
        String s = sc.next();
        switch (s) {
            case "push":
                int no = sc.nextInt();
                st.push(no);
                break;

            case "pop":
                if(st.isEmpty()) {
                    System.out.println(-1);
                }else {
                    System.out.println(st.pop());
                }
                break;

            case "size":
                System.out.println(st.size());
                break;

            case "empty":
                if(st.isEmpty()) {
                    System.out.println(1);
                }else {
                    System.out.println(0);
                }
                break;

            case "top":
                if(st.isEmpty()) {
                    System.out.println(-1);
                }else {
                    System.out.println(st.peek());
                }
                break;

            default:
                break;
        }
    }

}

}