Simulation coding challenges

Practise simulation with 19 coding challenges, from easy to hard. Every challenge runs in your browser with instant tests, an AI review of your code and community solutions to compare.

Easy · 12 Medium · 6 Hard · 1

Skills you'll practise: PolymorphismAmortised costBusiness rulesCommand processingConcurrencyDecorator patternDictionariesDirection vectorsDynamic arraysEncapsulationEvolutionary searchFacade pattern
  • Python · C++ · C#
  • Automated tests
  • AI code review
  • Community solutions
226
Challenges
2
Solutions shared
3
Languages

All challenges

Search by topic, language, or difficulty.

19 challenges
Medium

Game of Life Step

Advance Conway's Game of Life by one generation.

You'll learn Grid simulationNeighbor counting
AdvancedGridsHackathonSimulation
No solutions yet
Easy

Collatz Sequence

Follow the halve-or-triple-and-add-one rule until reaching 1.

You'll learn While loopsStep counting
NumbersSimulation
No solutions yet
Medium

Robot Command Simulator

Move a robot using L (turn left 90 degrees), R (turn right 90 degrees), and A (advance one step).

You'll learn Direction vectorsCommand processing
SimulationState-machines
No solutions yet
Hard

Hotel Room Allocation

Assign arriving groups in order.

You'll learn Range maximum queriesPoint updates
Segment-treesSimulation
No solutions yet
Medium

One Generation of a Genetic Algorithm

Breed the next generation of bit strings with tournament selection, single-point crossover and mutation.

You'll learn Genetic algorithmsEvolutionary search
OptimizationSimulationai
No solutions yet
Easy

Markov Chain State Distribution

Propagate a probability distribution through a Markov chain's transition matrix for a number of steps.

You'll learn Markov chainsProbability
Simulationaimath
No solutions yet
Easy

Checkout Facade

Hide stock checks and price totals behind one simple checkout call.

You'll learn Facade patternValidation
ArraysDesign patternsSimulation
No solutions yet
Easy

One Shared Configuration

Simulate a singleton settings object: every part of the program reads and writes the same instance.

You'll learn SingletonShared state
BeginnerDesign patternsSimulation
No solutions yet
Medium

Parallel Task Completion Order

Run tasks concurrently with at most k at a time and report the order in which they finish.

You'll learn ConcurrencyPriority queues
SimulationSorting
No solutions yet
Medium

Weekly Payroll

Total a week's pay for salaried, hourly and commission employees, each paid by its own rule.

You'll learn PolymorphismOvertime math
ParsingSimulationmath
No solutions yet
Easy

Event Subscribers

Deliver events to the subscribers of each topic, observer style, and count what everyone receives.

You'll learn Observer patternDictionaries
Design patternsSimulationStrings
No solutions yet
Easy

Price Decorators

Wrap a base price in discount, tax, shipping and coupon decorators applied in order.

You'll learn Decorator patternPercentages
Design patternsSimulationmath
No solutions yet
Easy

Notification Costs

Send messages through email, SMS and push channels that each compute their own cost.

You'll learn PolymorphismInteger division
SimulationStrings
No solutions yet
Easy

Bank Account Rules

Protect an account's balance behind deposit and withdraw rules, rejecting invalid operations.

You'll learn EncapsulationBusiness rules
BeginnerSimulation
No solutions yet
Easy

Linked List Operations

Simulate a linked list: add at either end, remove from the front or by value, and reverse it.

You'll learn Linked listsSimulation
Data-structuresSimulation
No solutions yet
Easy

Growing a Dynamic Array

Simulate how a dynamic array doubles its capacity and count the reallocations and copied elements.

You'll learn Dynamic arraysAmortised cost
ArraysSimulationmath
No solutions yet
Easy

Vehicle Tolls

Charge tolls for motorbikes, cars and trucks where trucks extend the basic vehicle rule with axles.

You'll learn InheritanceMethod overriding
BeginnerSimulation
No solutions yet
Easy

To-Do List

Keep a list of tasks: add them, mark them done, remove them and report what is still pending.

You'll learn Typed collectionsRecords
BeginnerSimulationStrings
No solutions yet