(Java) 프로그래머스 - 택배상자

2023. 5. 6. 02:23·코딩 테스트

문제 설명부터 Stack을 쓰라고 말하는 것 같았다.

메인 컨베이어 벨트는 Queue로 서브 컨베이어 벨트는 Stack을 이용해서 풀이했다.

90% 풀이 금방 끝냈지만, while문의 종료 조건을 생각하느라 시간이 걸렸다.

flag 변수를 이용해서 어떠한 작업도 하지 않는다면 while문을 종료시켜 풀이에 성공했다.


최종 코드

import java.util.*;
class Solution {
    public int solution(int[] order) {
        int answer = 0;
        Stack<Integer> stack = new Stack<>();
        Queue<Integer> queue = new LinkedList<>();
        
        for(int i = 1; i <= order.length; i++) {
            queue.add(i);
        }
        
        int i = 0;
        
        while(true) {
            boolean flag = false;
            if(!queue.isEmpty() && order[i] == queue.peek()) {
                queue.poll();
                answer++;
                i++;
                flag = true;
                continue;
            }
            
            if(!stack.isEmpty() && order[i] == stack.peek()) {
                stack.pop();
                answer++;
                i++;
                flag = true;
                continue;
            }
            
            if(!queue.isEmpty()) {
            stack.add(queue.poll());
                flag = true;
            }
            
            if(!flag) {
                break;
            }
        }
        return answer;
    }
}
저작자표시 (새창열림)

'코딩 테스트' 카테고리의 다른 글

(Java) 프로그래머스 - 연속된 부분 수열의 합  (0) 2023.05.07
(Java) 프로그래머스 - 이모티콘 할인행사  (0) 2023.05.06
(Java) 프로그래머스 - 롤케이크 자르기  (0) 2023.05.05
(Java) 프로그래머스 - 숫자 변환하기  (0) 2023.05.05
(Java) 프로그래머스 - 뒤에 있는 큰 수 찾기  (0) 2023.05.04
'코딩 테스트' 카테고리의 다른 글
  • (Java) 프로그래머스 - 연속된 부분 수열의 합
  • (Java) 프로그래머스 - 이모티콘 할인행사
  • (Java) 프로그래머스 - 롤케이크 자르기
  • (Java) 프로그래머스 - 숫자 변환하기
로승리
로승리
  • 로승리
    Roy's Blog
    로승리
  • 전체
    오늘
    어제
    • 분류 전체보기
      • Issuefy
      • Language
      • Spring
      • Database
      • Network
      • Kubernetes
      • AWS
      • 코드스쿼드
      • 코딩 테스트
      • 생각정리
      • 국비지원
      • 회고
      • 컨퍼런스, 세미나
  • 블로그 메뉴

    • 홈
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.0
로승리
(Java) 프로그래머스 - 택배상자
상단으로

티스토리툴바