피드로 돌아가기
Dev.toBackend
원문 읽기
Rotation Trick을 통한 Single Queue 기반 Stack 구현 및 Pop O(1) 달성
Implement Stack using Queue (using single queue)
AI 요약
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)를 통한 조회 최적화 검토