본문 바로가기
알고리즘

20230823 [Java] 문제풀이

by JayAlex07 2023. 8. 23.

20230823 [Java] 문제풀이

 

[프로그래머스] 택배상자

 

스택에 상자를 넣으면서 order에 있는 숫자와 비교했다

 

스택에 있는 숫자의 제일 위에 있는 숫자가 현재 order와 같으면, while문을 통해서 하나씩 꺼내면서, 다음 순서로 넘어가고, answer에다 1을 누적시켰다

 

import java.util.*;

class Solution {
    public int solution(int[] order) {
        int answer = 0;

        Stack<Integer> reserve = new Stack<>();

        int box = 1;
        int idx = 0;

        while (box <= order.length) {
            reserve.add(box);

            while (!reserve.isEmpty() && reserve.peek() == order[idx]) {
                reserve.pop();
                answer ++;
                idx ++;
            }

            box ++;
        }

        return answer;
    }
}

'알고리즘' 카테고리의 다른 글

[Java] 백준 25556 포스택  (0) 2023.06.13
Algorithm  (0) 2022.12.28