Challenge - 5 Problems
Queue Mastery Badge
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediateWhat is the output of this queue operation sequence?
Consider a queue where we enqueue numbers 1, 2, 3, then dequeue once, then enqueue 4. What is the state of the queue?
DSA Typescript
class Queue { private items: number[] = []; enqueue(item: number) { this.items.push(item); } dequeue() { return this.items.shift(); } print() { return this.items.join(' -> ') + ' -> null'; } } const q = new Queue(); q.enqueue(1); q.enqueue(2); q.enqueue(3); q.dequeue(); q.enqueue(4); console.log(q.print());
Attempts:
2 left
💡 Hint
Remember FIFO means first in, first out. The first number enqueued is removed first.
✗ Incorrect
We add 1, 2, 3 in order. Dequeue removes 1 (the first). Then enqueue 4. So queue has 2, 3, 4 in order.
🧠 Conceptual
intermediateWhich property best describes a queue?
Choose the property that correctly describes how a queue works.
Attempts:
2 left
💡 Hint
Think about who leaves first in a line.
✗ Incorrect
A queue follows FIFO: the first element added is the first to be removed.
🔧 Debug
advancedWhat error does this queue code produce?
This TypeScript queue code tries to dequeue from an empty queue. What error occurs?
DSA Typescript
class Queue { private items: number[] = []; dequeue() { return this.items.shift(); } } const q = new Queue(); console.log(q.dequeue().toString());
Attempts:
2 left
💡 Hint
What does shift() return if the array is empty?
✗ Incorrect
shift() returns undefined if empty. Calling toString() on undefined causes TypeError.
🚀 Application
advancedHow many items remain after these queue operations?
Start with an empty queue. Enqueue 5 items, dequeue 3 items, enqueue 2 more items. How many items are in the queue now?
Attempts:
2 left
💡 Hint
Count carefully: add 5, remove 3, add 2.
✗ Incorrect
5 enqueued - 3 dequeued = 2 left, then 2 more enqueued = 4 total.
❓ Predict Output
expertWhat is the output after this complex queue sequence?
Given the queue operations below, what is printed?
DSA Typescript
class Queue { private items: number[] = []; enqueue(item: number) { this.items.push(item); } dequeue() { return this.items.shift(); } print() { return this.items.join(' -> ') + ' -> null'; } } const q = new Queue(); q.enqueue(10); q.enqueue(20); q.enqueue(30); q.dequeue(); q.enqueue(40); q.dequeue(); q.enqueue(50); console.log(q.print());
Attempts:
2 left
💡 Hint
Track each enqueue and dequeue step carefully in order.
✗ Incorrect
Enqueue 10,20,30; dequeue removes 10; enqueue 40; dequeue removes 20; enqueue 50; queue is 30,40,50.
