
									 Problem
								
								
									 Solution
								
								
									 Submissions
								
								
							Implement a Queue Using a List
								Certification: Advanced Level
								Accuracy: 100%
								Submissions: 2
								Points: 10
							
							Create a Python class called Queue that implements a queue data structure using a list. The class should support standard queue operations such as enqueue, dequeue, peek, is_empty, and size. The queue should follow the First-In-First-Out (FIFO) principle.
Example 1
- Input: queue = Queue()
- Operations: queue.enqueue(10)
- Operations: queue.enqueue(20)
- Operations: queue.dequeue()
- Operations: queue.peek()
- Output: 10, 20
- Explanation:
    - Step 1: Create a Queue instance.
- Step 2: Enqueue two values.
- Step 3: Dequeue the first value (10).
- Step 4: Peek at the next value (20).
 
Example 2
- Input: queue = Queue()
- Operations: queue.enqueue("apple")
- Operations: queue.enqueue("banana")
- Operations: queue.is_empty()
- Operations: queue.size()
- Operations: queue.peek()
- Operations: queue.dequeue()
- Operations: queue.size()
- Output: False, 2, "apple", 1
- Explanation:
    - Step 1: Create a Queue instance.
- Step 2: Enqueue two values.
- Step 3: Check if queue is empty (False).
- Step 4: Get queue size (2).
- Step 5: Peek at first value ("apple").
- Step 6: Dequeue first value ("apple").
- Step 7: Get new queue size (1).
 
Constraints
- The queue can contain elements of any data type.
- Time Complexity: O(1) for all operations except dequeue which could be O(n).
- Space Complexity: O(n) where n is the number of elements in the queue.
- Dequeue and peek operations on an empty queue should be handled gracefully.
Editorial
									
												
My Submissions
										All Solutions
									| Lang | Status | Date | Code | 
|---|---|---|---|
| You do not have any submissions for this problem. | |||
| User | Lang | Status | Date | Code | 
|---|---|---|---|---|
| No submissions found. | ||||
Solution Hints
- Use a Python list to store the queue elements
- For enqueue, use list.append()
- For dequeue, consider using list.pop(0)orcollections.dequefor better performance
- Implement proper error handling for operations on an empty queue
- Consider implementing a max_size parameter (optional)
