Challenge - 5 Problems
Queue and Stack Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate2:00remaining
What is the output of this Queue operation?
Consider the following C# code using a Queue. What will be printed to the console?
C Sharp (C#)
using System; using System.Collections.Generic; class Program { static void Main() { Queue<int> q = new Queue<int>(); q.Enqueue(10); q.Enqueue(20); q.Enqueue(30); Console.WriteLine(q.Dequeue()); Console.WriteLine(q.Peek()); } }
Attempts:
2 left
💡 Hint
Remember, Queue follows FIFO: first in, first out.
✗ Incorrect
The first Enqueue adds 10, then 20, then 30. Dequeue removes and returns the first item (10). Peek returns the next item without removing it (20).
❓ Predict Output
intermediate2:00remaining
What is the output of this Stack operation?
Look at this C# code using a Stack. What will be printed?
C Sharp (C#)
using System; using System.Collections.Generic; class Program { static void Main() { Stack<string> s = new Stack<string>(); s.Push("apple"); s.Push("banana"); s.Push("cherry"); Console.WriteLine(s.Pop()); Console.WriteLine(s.Peek()); } }
Attempts:
2 left
💡 Hint
Stack follows LIFO: last in, first out.
✗ Incorrect
Push adds items on top. Pop removes and returns the top item (cherry). Peek returns the new top item (banana) without removing it.
🔧 Debug
advanced2:00remaining
Why does this Queue code throw an exception?
This C# code throws an InvalidOperationException at runtime. Why?
C Sharp (C#)
using System; using System.Collections.Generic; class Program { static void Main() { Queue<int> q = new Queue<int>(); q.Enqueue(1); q.Dequeue(); q.Dequeue(); } }
Attempts:
2 left
💡 Hint
Check what happens when you remove more items than exist.
✗ Incorrect
After Enqueue(1), the Queue has one item. The first Dequeue removes it. The second Dequeue tries to remove from an empty Queue, causing InvalidOperationException.
❓ Predict Output
advanced2:00remaining
What is the final content of the Stack?
After running this C# code, what items remain in the Stack (from top to bottom)?
C Sharp (C#)
using System; using System.Collections.Generic; class Program { static void Main() { Stack<int> s = new Stack<int>(); s.Push(5); s.Push(10); s.Push(15); s.Pop(); s.Push(20); foreach(var item in s) { Console.Write(item + " "); } } }
Attempts:
2 left
💡 Hint
Remember Pop removes the top item, Push adds on top, and foreach iterates from top to bottom.
✗ Incorrect
Stack after pushes: 5 (bottom), 10, 15 (top). Pop removes 15. Push 20 adds on top. Final stack top to bottom: 20, 10, 5.
🧠 Conceptual
expert2:00remaining
Which statement correctly describes the difference between Queue and Stack?
Choose the option that best explains the fundamental difference between Queue and Stack data structures.
Attempts:
2 left
💡 Hint
Think about FIFO vs LIFO.
✗ Incorrect
Queue follows FIFO (first in, first out), so elements are removed in the order they were added. Stack follows LIFO (last in, first out), so elements are removed in reverse order.