이 문제는 큐의 양쪽 끝에서 삽입과 삭제, 조회가 필요하다.
일반적인 Queue가 아닌 Deque로 해결하는 것이 적합하다.
(Queue는 한쪽 끝에서만 삽입하고, 반대쪽 끝에서만 삭제 가능)
Deque의 주요 특징
- 양쪽 끝에서 데이터를 추가하거나 제거할 수 있는 자료구조이다.
- Java에서 Deque 인터페이스를 통해 이러한 양방향 큐를 지원하며, 이를 구현하는 대표적인 클래스는 LinkedList와 ArrayDeque이다.
- 큐와 스택의 기능을 동시에 지원한다.
- 한쪽 끝에서만 삽입/삭제하면 스택처럼 사용
- 양쪽 끝에서 삽입/삭제를 사용하면 양방향 큐처럼 사용 가능
- 메서드
- addFirst() : 큐 앞쪽에 요소 추가
- removeFirst() : 큐 앞쪽 요소 제거
- peekFirst() : 큐 앞쪽 요소 확인
- addLast() : 큐 뒤쪽에 요소 추가
- removeLast() : 큐 뒤쪽 요소 제거
- peekLast() : 큐 뒤쪽 요소 확인
'알고리즘 > 백준' 카테고리의 다른 글
[백준 11724번, 2178번, 1920번] 탐색(Java) (4) | 2024.11.02 |
---|---|
[백준 1676번] 팩토리얼 0의 개수(Java) (3) | 2024.11.01 |
[백준 10814번] 나이순 정렬(Java) (2) | 2024.10.29 |
[백준 2751번] 수 정렬하기 2(Java) (4) | 2024.10.28 |
[백준 10989번] 수 정렬하기 3(Java) (0) | 2024.10.28 |