문제
다음과 같이 구현된 덱(Deque) 자료구조에서 연산을 수행한 결과를 구하시오.
초기 상태: 빈 덱 연산 순서:
- addFirst(7)
- addLast(3)
- addFirst(9)
- addLast(1)
- addFirst(5)
- removeLast()
- removeFirst()
- addLast(4)
- removeLast()
- removeFirst()
최종적으로 덱에 남아있는 원소들을 앞쪽부터 순서대로 나열하시오.
정답
7 3
7 37, 37,3
해설
덱(Deque)은 양쪽 끝에서 삽입과 삭제가 모두 가능한 자료구조이다. 연산을 순차적으로 추적하면:
- addFirst(7): [7]
- addLast(3): [7, 3]
- addFirst(9): [9, 7, 3]
- addLast(1): [9, 7, 3, 1]
- addFirst(5): [5, 9, 7, 3, 1]
- removeLast(): [5, 9, 7, 3] (1 제거)
- removeFirst(): [9, 7, 3] (5 제거)
- addLast(4): [9, 7, 3, 4]
- removeLast(): [9, 7, 3] (4 제거)
- removeFirst(): [7, 3] (9 제거) 따라서 최종 결과는 7 3이다.