알고리즘/백준
Deque
이채림
2024. 10. 30. 17:18
이 문제는 큐의 양쪽 끝에서 삽입과 삭제, 조회가 필요하다.
일반적인 Queue가 아닌 Deque로 해결하는 것이 적합하다.
(Queue는 한쪽 끝에서만 삽입하고, 반대쪽 끝에서만 삭제 가능)
Deque의 주요 특징
- 양쪽 끝에서 데이터를 추가하거나 제거할 수 있는 자료구조이다.
- Java에서 Deque 인터페이스를 통해 이러한 양방향 큐를 지원하며, 이를 구현하는 대표적인 클래스는 LinkedList와 ArrayDeque이다.
- 큐와 스택의 기능을 동시에 지원한다.
- 한쪽 끝에서만 삽입/삭제하면 스택처럼 사용
- 양쪽 끝에서 삽입/삭제를 사용하면 양방향 큐처럼 사용 가능
- 메서드
- addFirst() : 큐 앞쪽에 요소 추가
- removeFirst() : 큐 앞쪽 요소 제거
- peekFirst() : 큐 앞쪽 요소 확인
- addLast() : 큐 뒤쪽에 요소 추가
- removeLast() : 큐 뒤쪽 요소 제거
- peekLast() : 큐 뒤쪽 요소 확인