피드로 돌아가기
Implement Stack using Queue (using single queue)
Dev.toDev.to
Backend

Rotation Trick을 통한 Single Queue 기반 Stack 구현 및 Pop O(1) 달성

Implement Stack using Queue (using single queue)

Jaspreet singh2026년 6월 24일2beginner

Context

Queue의 FIFO 특성을 활용해 Stack의 LIFO 구조를 구현해야 하는 제약 상황. 기존 Two Queues 방식은 Pop 연산 시 n-1개 요소를 이동시켜야 하는 비용 발생으로 인해 효율적인 데이터 접근 구조 설계가 필요함.

Technical Solution

  • Single Queue 내 Rotation 전략을 통한 LIFO 순서 강제 구현
  • New Element 추가 후 기존 요소들을 순차적으로 Remove 하여 다시 Add 하는 재배치 로직 적용
  • 최신 데이터가 항상 Queue의 Front에 위치하도록 설계하여 Stack Top 상태 유지
  • Push 단계에서 데이터 순서를 정렬함으로써 Pop과 Top 연산의 복잡도를 최소화
  • ArrayDeque를 활용한 메모리 효율적 큐 연산 처리

데이터 접근 빈도가 읽기(Read)에 집중된 시스템 설계 시, 입력 단계에서의 전처리(Pre-processing)를 통한 조회 최적화 검토

원문 읽기