Bird
Raised Fist0
DSA Pythonprogramming~20 mins

Peek Top Element of Stack in DSA Python - Practice Problems & Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Stack Peek Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output after peeking the top element?
Consider the following stack operations. What will be printed after the peek operation?
DSA Python
stack = []
stack.append(10)
stack.append(20)
stack.append(30)
print(stack[-1])
AIndexError
B20
C10
D30
Attempts:
2 left
💡 Hint
Remember, peek means looking at the last added item without removing it.
❓ Predict Output
intermediate
2:00remaining
What happens when peeking an empty stack?
What error will this code produce when trying to peek the top element of an empty stack?
DSA Python
stack = []
print(stack[-1])
AIndexError
BNone
CValueError
DKeyError
Attempts:
2 left
💡 Hint
Think about what happens when you access an index that does not exist.
🔧 Debug
advanced
2:00remaining
Identify the error in this peek function implementation
This function is supposed to return the top element of the stack without removing it. What error will it cause?
DSA Python
def peek(stack):
    return stack.pop()

stack = [1, 2, 3]
print(peek(stack))
print(stack)
AIt returns None always
BIt raises IndexError on empty stack
CIt removes the top element instead of just peeking
DIt causes TypeError
Attempts:
2 left
💡 Hint
Check what pop() does compared to peek.
❓ Predict Output
advanced
2:00remaining
What is the output after multiple peek operations?
Given the stack operations below, what will be printed?
DSA Python
stack = []
stack.append('a')
stack.append('b')
print(stack[-1])
stack.pop()
print(stack[-1])
Ab\na
Ba\nb
Cb\nb
Da\na
Attempts:
2 left
💡 Hint
Peek shows the last element. Pop removes it.
🧠 Conceptual
expert
2:00remaining
Why is peek operation O(1) time complexity in a stack?
Choose the best explanation for why peeking the top element of a stack is done in constant time.
ABecause the stack needs to traverse all elements to find the top
BBecause the top element is always at the end of the data structure and can be accessed directly
CBecause peek operation removes the element which takes constant time
DBecause the stack is implemented as a linked list and requires traversal
Attempts:
2 left
💡 Hint
Think about where the top element is stored in a stack implemented with a list.

Practice

(1/5)
1. What does the peek operation do in a stack?
easy
A. Returns the bottom element of the stack
B. Removes the top element from the stack
C. Adds a new element to the top of the stack
D. Returns the top element without removing it

Solution

  1. Step 1: Understand stack operations

    A stack follows Last-In-First-Out (LIFO). The top element is the last added item.
  2. Step 2: Define peek operation

    Peek returns the top element without removing it, unlike pop which removes it.
  3. Final Answer:

    Returns the top element without removing it -> Option D
  4. Quick Check:

    Peek = top element without removal [OK]
Hint: Peek shows top without removing it [OK]
Common Mistakes:
  • Confusing peek with pop
  • Thinking peek adds elements
  • Assuming peek returns bottom element
2. Which of the following is the correct syntax to peek the top element from a stack implemented as a Python list named stack?
easy
A. stack[-1]
B. stack.peek()
C. stack.top()
D. stack.pop()

Solution

  1. Step 1: Recall Python list indexing

    Python lists use negative indexing; stack[-1] accesses the last element.
  2. Step 2: Differentiate peek from pop

    stack.pop() removes the element, so it is not peek. stack.peek() and stack.top() are not valid list methods.
  3. Final Answer:

    stack[-1] -> Option A
  4. Quick Check:

    Peek = stack[-1] [OK]
Hint: Use stack[-1] to peek top element in Python list [OK]
Common Mistakes:
  • Using pop() which removes element
  • Using non-existent peek() or top() methods
  • Using positive index 0 instead of -1
3. What will be the output of this code?
stack = [10, 20, 30]
print(stack[-1])
stack.append(40)
print(stack[-1])
medium
A. 30\n40
B. 10\n40
C. 30\n30
D. 40\n40

Solution

  1. Step 1: Check initial peek

    Initial stack is [10, 20, 30]. stack[-1] is 30, so first print outputs 30.
  2. Step 2: Append and peek again

    After appending 40, stack becomes [10, 20, 30, 40]. stack[-1] is now 40, so second print outputs 40.
  3. Final Answer:

    30 40 -> Option A
  4. Quick Check:

    Peek before append = 30, after append = 40 [OK]
Hint: Peek shows last element; append adds new last element [OK]
Common Mistakes:
  • Confusing peek with pop output
  • Not updating peek after append
  • Printing first element instead of last
4. Find the error in this code that tries to peek the top element of a stack implemented as a list:
stack = [5, 15, 25]
top = stack.pop[-1]
print(top)
medium
A. pop removes element, so peek is wrong
B. pop is used incorrectly with square brackets
C. stack is empty, so error occurs
D. print statement syntax is wrong

Solution

  1. Step 1: Analyze pop usage

    pop is a method and should be called with parentheses, not square brackets. stack.pop[-1] is invalid syntax.
  2. Step 2: Understand correct peek syntax

    To peek, use stack[-1]. To pop, use stack.pop(). Mixing them causes error.
  3. Final Answer:

    pop is used incorrectly with square brackets -> Option B
  4. Quick Check:

    pop() needs parentheses, not brackets [OK]
Hint: Use parentheses for pop(), brackets for indexing [OK]
Common Mistakes:
  • Using pop with brackets instead of parentheses
  • Confusing peek with pop
  • Assuming pop[-1] is valid syntax
5. Given a stack implemented as a list, how can you safely peek the top element without causing an error if the stack is empty?
hard
A. Use stack.pop() and catch exceptions
B. Use stack[-1] directly without checks
C. Check if stack is not empty before peeking
D. Assign None to top element always

Solution

  1. Step 1: Understand empty stack risk

    Accessing stack[-1] when stack is empty causes IndexError.
  2. Step 2: Implement safe peek

    Check if stack length > 0 before peeking to avoid error.
  3. Final Answer:

    Check if stack is not empty before peeking -> Option C
  4. Quick Check:

    Peek safely by checking stack length first [OK]
Hint: Always check stack not empty before peek [OK]
Common Mistakes:
  • Peeking without checking empty stack
  • Using pop() which removes element
  • Ignoring exceptions from empty stack access
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard