말하는 컴공감자의 텃밭

백준 28278 스택2 <실버4> - 자바 Stack 본문

알고리즘/Backjoon - Java

백준 28278 스택2 <실버4> - 자바 Stack

현콩 2023. 7. 13. 23:05
728x90

스택 구현문제

 

스택 메소드 구현 문제이다. 근데 집중을 안했는지 정수가 아닌경우도 입력받는걸로 이해해서 혼자 정수처리하다 오래걸려버렸다..

그냥 단순하게 스택을 구현하면 되는 문제였다.

 

프로그래머스로 풀다가 오랜만에 이클립스 IDE 써보니까 어색하고 함수 구분하는것도 에베베 으베베가 되었다.

백준이랑 SW Expert로 많이 해봐야겠다 호후호

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
import java.util.*;
 
public class Main {
    public static Stack<Integer> stack = new Stack<>();
 
    public static void main(String[] args) {
        // Input
        Scanner sc = new Scanner(System.in);
        StringBuilder sb = new StringBuilder();
 
        int N = sc.nextInt();
 
        // Logic
        for (int i = 0; i < N; i++) {
            int num = sc.nextInt();
 
            switch (num) {
                case 1:
                    int x = sc.nextInt();
                    push(x);
                    break;
                case 2:
                    int popped = pop();
                    sb.append(popped).append("\n");
                    break;
                case 3:
                    int stackSize = size();
                    sb.append(stackSize).append("\n");
                    break;
                case 4:
                    int isEmpty = empty();
                    sb.append(isEmpty).append("\n");
                    break;
                case 5:
                    int top = top();
                    sb.append(top).append("\n");
                    break;
            }
        }
 
        // Output
        System.out.print(sb);
    }
    
    // Function
    public static void push(int x) {
        stack.push(x); // x 삽입.
    }
 
    public static int pop() {
        if (!stack.isEmpty()) {
            return stack.pop(); // 상단 pop 후 출력.
        }
        return -1;
    }
 
    public static int size() { // 스택의 사이즈 출력
        return stack.size();
    }
 
    public static int empty() { // 비어있는 경우
        if (stack.isEmpty()) {
            return 1;
        }
        return 0;
    }
 
    public static int top() { // peek 구현
        if (!stack.isEmpty()) {
            return stack.peek();
        }
        return -1;
    }
}
 
cs
728x90
Comments