Pick a problem, start typing.
This is the playground. Read a concept's notes first, then come here to use it: each problem runs in your browser via Pyodide, your study notes stay one tab away, and the tutor watches as you type — nudging only when help actually helps.
Foundations
Beginner15 problemsThe Python you reach for every day — variables, control flow and the core data types.
- problem_01
Conditionals: letter grades
practices Conditionals
python~10 min+1 conceptStart solving - problem_02
Functions: FizzBuzz
practices Functions
python~10 min+2 conceptsStart solving - problem_03
Hello, World!
practices Your first program
python~5 minStart solving - problem_04
Say your name
practices Your first program
python~6 minStart solving - problem_05
Share the cookies
practices Numbers and arithmetic
python~7 minStart solving - problem_06
Shopping total
practices Numbers and arithmetic
python~6 minStart solving - problem_07
Variables: storing values
practices Variables and types
python~8 min+1 conceptStart solving - problem_08
*args/**kwargs: tally the lot
practices Flexible function arguments
python~15 min+1 conceptStart solving - problem_13
Dicts: counting words
practices Dictionaries
python~12 min+2 conceptsStart solving - problem_14
Errors: safe divide
practices Errors and exceptions
python~10 min+1 conceptStart solving - problem_16
Lists: top N values
practices Lists
python~12 min+1 conceptStart solving - problem_17
Loops: sum the even numbers
practices Loops
python~12 min+2 conceptsStart solving - problem_19
Sets: unique, sorted
practices Tuples and sets
python~10 min+2 conceptsStart solving - problem_20
Slicing: rotate right by k
practices Slicing
python~12 min+1 conceptStart solving - problem_22
Strings: valid palindrome
practices Strings
python~12 min+2 conceptsStart solving
Idioms & Objects
Beginner+14 problemsWrite it the Pythonic way — comprehensions, sorting, recursion, classes and generators.
- problem_09
Classes: bank account
practices Classes and objects
python~15 min+1 conceptStart solving - problem_10
Comprehensions: squares of evens
practices Comprehensions
python~10 min+1 conceptStart solving - problem_11
Dataclasses: build a leaderboard
practices Dataclasses
python~15 min+2 conceptsStart solving - problem_12
Decorators: count the calls
practices Decorators
python~15 min+2 conceptsStart solving - problem_25
f-strings: format a receipt
practices String formatting
python~15 min+1 conceptStart solving - problem_15
Higher-order: filter then map
practices Higher-order functions
python~12 min+1 conceptStart solving - problem_26
itertools: running maximum
practices The itertools module
python~15 min+1 conceptStart solving - problem_18
Regex: pull out the numbers
practices Regular expressions
python~15 min+1 conceptStart solving - problem_47
collections: group the words
practices The collections module
python~15 min+2 conceptsStart solving - problem_29
Context managers: build a Capture
practices Context managers
python~20 min+1 conceptStart solving - problem_48
functools: memoized Fibonacci
practices The functools module
python~20 min+1 conceptStart solving - problem_33
Generators: running totals
practices Iterators and generators
python~14 min+1 conceptStart solving - problem_41
Recursion: deep sum
practices Recursion
python~14 min+1 conceptStart solving - problem_42
Sorting: by frequency
practices Sorting
python~15 min+2 conceptsStart solving
Data Structures
Intermediate16 problemsThe building blocks of fast solutions — hashing, stacks, trees, heaps and binary search.
- problem_23
Trees: maximum depth
practices Trees and binary search trees
python~12 min+1 conceptStart solving - problem_24
Two pointers: valid palindrome
practices Two pointers
python~15 min+1 conceptStart solving - problem_27
Binary search: search insert position
practices Binary search
python~15 minStart solving - problem_36
Hashing: top K frequent elements
practices Hash maps and sets
python~20 min+1 conceptStart solving - problem_37
Hashing: two sum
practices Hash maps and sets
python~15 min+1 conceptStart solving - problem_38
Intervals: merge overlapping ranges
practices Intervals
python~20 min+1 conceptStart solving - problem_39
Linked lists: merge two sorted
practices Linked lists
python~16 min+1 conceptStart solving - problem_43
Stacks: valid parentheses
practices Stacks and queues
python~15 min+1 conceptStart solving - problem_44
Trees: count values in range
practices Trees and binary search trees
python~16 min+1 conceptStart solving - problem_45
Trees: in-order traversal
practices Trees and binary search trees
python~14 min+1 conceptStart solving - problem_46
Two pointers: pair sum in sorted array
practices Two pointers
python~15 minStart solving - problem_54
Heaps: kth largest element
practices Heaps / priority queues
python~18 min+1 conceptStart solving - problem_55
Monotonic stack: daily temperatures
practices Monotonic stack
python~25 min+1 conceptStart solving - problem_56
Prefix sums: subarrays summing to k
practices Prefix sums
python~20 min+1 conceptStart solving - problem_57
Sliding window: longest substring without repeating
practices Sliding window
python~20 min+2 conceptsStart solving - problem_58
Sliding window: minimum size subarray sum
practices Sliding window
python~22 min+1 conceptStart solving
Core Algorithms
Advanced12 problemsCrack real interview & contest problems — greedy, backtracking, DP and graph traversal.
- problem_30
DP: climbing stairs
practices Dynamic programming
python~18 min+1 conceptStart solving - problem_31
DP: house robber
practices Dynamic programming
python~20 min+1 conceptStart solving - problem_32
Dynamic programming: unique paths
practices Dynamic programming
python~20 minStart solving - problem_34
Greedy: jump game
practices Greedy algorithms
python~18 min+1 conceptStart solving - problem_35
Greedy: maximum subarray (Kadane)
practices Greedy algorithms
python~20 min+1 conceptStart solving - problem_49
Backtracking: all permutations
practices Backtracking
python~24 min+1 conceptStart solving - problem_50
Backtracking: all subsets
practices Backtracking
python~22 min+1 conceptStart solving - problem_51
DP: coin change
practices Dynamic programming
python~22 min+1 conceptStart solving - problem_52
DP: longest increasing subsequence
practices Dynamic programming
python~22 minStart solving - problem_53
Graphs: number of islands
practices Graphs
python~24 min+1 conceptStart solving - problem_59
Union-Find: number of provinces
practices Union-Find (Disjoint Set)
python~25 min+1 conceptStart solving - problem_60
BFS: shortest path in a grid
practices BFS and DFS
python~25 min+1 conceptStart solving
Advanced Algorithms
Expert3 problemsGo deeper — number theory, advanced graphs, segment trees and string matching.