[ 오늘의 코테 연습장 ] [ LeetCodee ] 155. Min Stack

Mini_me·2023년 8월 31일
0

공부[코테연습장]

목록 보기
30/36
post-thumbnail

📑 문제

이 문제는 특정한 조건을 만족하는 스택을 설계하고 구현하는 것입니다.

구체적으로, 다음과 같은 기능들을 상수 시간 내에 수행할 수 있는 스택을 구현해야 합니다:

MinStack() : 스택 객체를 초기화합니다.
void push(int val) : 원소 val를 스택에 push합니다.
void pop() : 스택의 맨 위에 있는 원소를 제거합니다.
int top() : 스택의 맨 위에 있는 원소를 반환합니다.
int getMin() : 스택에서 가장 작은 원소를 찾아 반환합니다.

문제 접근 방식

스택과 min 변수를 설정하여, 스택을 설계하고 구현했습니다.

CODE

class MinStack {
    Stack<Integer> stack = new Stack<>();
    int min = Integer.MAX_VALUE;

    public void push(int val) {
        if (val <= min) {
            stack.push(min);
            min = val;
        }
        stack.push(val);
    }

    public void pop() {
       if (stack.isEmpty()) return;
       if (stack.pop() == min) { 
           min = stack.pop();  
       }
    }

    public int top() {
        return stack.peek();
    }

    public int getMin() {
       return min;
   }
}

0개의 댓글

관련 채용 정보