Simplify Path
Implement a function that simplifies a Unix-style absolute file path to its canonical form.
Minimum Remove Valid Parentheses
Given a string with parentheses and letters, remove the fewest parentheses to make it valid.
Change directory manager
Implement a function that processes `cd` commands and returns the resulting absolute path.
Next greater element II
For each element in a circular array, find the next greater element (NGE) to its right, wrapping around.
Basic Calculator II
Evaluate a basic arithmetic expression with +, -, *, / following operator precedence.
Online Stock Span
Implement StockSpanner.next(price) that returns the maximum number of consecutive days (including today) with price <= current price.
Design Browser History
Implement a BrowserHistory class that supports visit, back, and forward navigation with step counts.
Evaluate Reverse Polish Notation
Evaluate an arithmetic expression written in reverse Polish notation using a stack.
Daily Temperatures
Given a list of daily temperatures, return for each day how many days until a warmer temperature appears.
Decode String Stack
Decode a compressed string with repeated substrings like '3[a2[c]]' to 'accaccacc' using a stack-based approach.
Remove K Digits Stack
Remove k digits from a non-negative integer string to produce the smallest possible number using a stack-based approach.
Score of Parentheses
Given a balanced parentheses string, compute its score where () is 1 and concatenation sums, nesting multiplies by 2.
Validate Stack Sequences
Given two sequences of distinct integers, verify whether the second sequence is a valid pop order for a stack given the first sequence as push order.
Buildings with ocean view
Given building heights, return sorted indices of buildings that have a clear view of the ocean to their right.
Sum of Subarray Minimums
Given an integer array, sum the minimum of all contiguous subarrays modulo 10^9+7.
Asteroid Collision
Simulate asteroid collisions with a stack and return the remaining asteroids in original order.
Decode Nested String
Implement a function that decodes a string with nested encoding patterns.
Showing 1–17 of 17 challenges · medium
Guide: free Python coding challenges
Practice Python by solving problems
PythonSkillset challenges are hands-on coding exercises from beginner to advanced. Open a challenge, read the problem, write Python in the split-pane editor, and run tests with Pyodide — no install required.
How to use the arena
- Pick a category — basics, algorithms, strings, and more
- Open a challenge, read the statement, and edit the starter code
- Run tests, fix failures, then try a related quiz or tutorial lesson
Challenges vs tutorials and quizzes
Challenges test what you can build under constraints. For guided teaching, use our Python tutorials. For quick checks, try quizzes or copy snippets from code samples.