Icon for exercise called Hello World
Hello World
Tutorial Exercise
Exercism's classic introductory exercise. Just say "Hello, World!".
Icon for exercise called Guido's Gorgeous Lasagna
Guido's Gorgeous Lasagna
Learning Exercise
Learn the basics of Python by cooking Guido's Gorgeous Lasagna.
Icon for exercise called Ghost Gobble Arcade Game
Ghost Gobble Arcade Game
Learning Exercise
Learn about bools by setting up the rules for the Ghost Gobble arcade game.
Icon for exercise called Currency Exchange
Currency Exchange
Learning Exercise
Learn about numbers by solving Chandler's currency exchange conundrums.
Icon for exercise called Meltdown Mitigation
Meltdown Mitigation
Learning Exercise
Learn about conditionals and avoid a meltdown by developing a simple control system for a Nuclear Reactor.
Icon for exercise called Black Jack
Black Jack
Learning Exercise
Learn about comparisons by implementing some Black Jack judging rules.
Icon for exercise called Little Sister's Essay
Little Sister's Essay
Learning Exercise
Learn about string methods while improving your little sister's school essay.
Icon for exercise called Little Sister's Vocabulary
Little Sister's Vocabulary
Learning Exercise
Learn about strings by helping your little sister with her vocabulary homework.
Icon for exercise called Card Games
Card Games
Learning Exercise
Learn about lists by tracking hands in card games.
Icon for exercise called Chaitana's Colossal Coaster
Chaitana's Colossal Coaster
Learning Exercise
Learn useful list methods helping Chaitana manage the lines for her colossal roller coaster.
Icon for exercise called Making the Grade
Making the Grade
Learning Exercise
Learn about loops by grading and organizing your students exam scores.
Icon for exercise called Tisbury Treasure Hunt
Tisbury Treasure Hunt
Learning Exercise
Learn about tuples by helping out competitors in the Tisbury Treasure Hunt.
Icon for exercise called Inventory Management
Inventory Management
Learning Exercise
Learn about dicts by managing warehouse inventory.
Icon for exercise called Mecha Munch Management
Mecha Munch Management
Learning Exercise
Learn about dictionary methods by building a shopping cart MVP for the Mecha Munch grocery app.
Icon for exercise called Locomotive Engineer
Locomotive Engineer
Learning Exercise
Learn about unpacking and multiple assignment in Python while helping Linus with his train control system.
Icon for exercise called Cater Waiter
Cater Waiter
Learning Exercise
Learn about sets by managing the menus and ingredients for your catering company's event.
Icon for exercise called Ellen's Alien Game
Ellen's Alien Game
Learning Exercise
Learn about classes by creating an Alien for Ellen's game.
Icon for exercise called Plane Tickets
Plane Tickets
Learning Exercise
Learn about generators by assigning seats to passengers on Anaconda Airlines.
Icon for exercise called Leap
Leap
Easy
Determine whether a given year is a leap year.
Icon for exercise called Triangle
Triangle
Easy
Determine if a triangle is equilateral, isosceles, or scalene.
Icon for exercise called Grains
Grains
Easy
Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
Icon for exercise called Armstrong Numbers
Armstrong Numbers
Easy
Determine if a number is an Armstrong number.
Icon for exercise called Collatz Conjecture
Collatz Conjecture
Easy
Calculate the number of steps to reach 1 using the Collatz conjecture.
Icon for exercise called Bob
Bob
Easy
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
Icon for exercise called Raindrops
Raindrops
Easy
Convert a number into its corresponding raindrop sounds - Pling, Plang and Plong.
Icon for exercise called Darts
Darts
Easy
Calculate the points scored in a single toss of a Darts game.
Icon for exercise called Perfect Numbers
Perfect Numbers
Easy
Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for positive integers.
Icon for exercise called Reverse String
Reverse String
Easy
Reverse a given string.
Icon for exercise called Pangram
Pangram
Easy
Determine if a sentence is a pangram.
Icon for exercise called Isogram
Isogram
Easy
Determine if a word or phrase is an isogram.
Icon for exercise called ISBN Verifier
ISBN Verifier
Easy
Check if a given string is a valid ISBN-10 number.
Icon for exercise called Rotational Cipher
Rotational Cipher
Easy
Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
Icon for exercise called RNA Transcription
RNA Transcription
Easy
Given a DNA strand, return its RNA Complement Transcription.
Icon for exercise called Resistor Color
Resistor Color
Easy
Convert a resistor band's color to its numeric representation.
Icon for exercise called Resistor Color Duo
Resistor Color Duo
Easy
Convert color codes, as used on resistors, to a numeric value.
Icon for exercise called Resistor Color Trio
Resistor Color Trio
Easy
Convert color codes, as used on resistors, to a human-readable label.
Icon for exercise called Resistor Color Expert
Resistor Color Expert
Easy
Convert color codes as used on resistors with different bands to a human-readable label.
Icon for exercise called Secret Handshake
Secret Handshake
Easy
Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
Icon for exercise called Anagram
Anagram
Easy
Given a word and a list of possible anagrams, select the correct sublist.
Icon for exercise called House
House
Easy
Output the nursery rhyme 'This is the House that Jack Built'.
Icon for exercise called Binary Search
Binary Search
Easy
Implement a binary search algorithm.
Icon for exercise called Hamming
Hamming
Easy
Calculate the Hamming distance between two DNA strands.
Icon for exercise called Flatten Array
Flatten Array
Easy
Take a nested list and return a single list with all values except nil/null.
Icon for exercise called Difference of Squares
Difference of Squares
Easy
Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
Icon for exercise called List Ops
List Ops
Easy
Implement basic list operations.
Icon for exercise called ETL
ETL
Easy
Change the data format for scoring a game to more easily add other languages.
Icon for exercise called Space Age
Space Age
Easy
Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
Icon for exercise called Sum of Multiples
Sum of Multiples
Easy
Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
Icon for exercise called Gigasecond
Gigasecond
Easy
Given a moment, determine the moment that would be after a gigasecond has passed.
Icon for exercise called Two Fer
Two Fer
Easy
Create a sentence of the form "One for X, one for me.".
Icon for exercise called Square Root
Square Root
Easy
Given a natural radicand, return its square root.
Icon for exercise called Pig Latin
Pig Latin
Easy
Implement a program that translates from English to Pig Latin.
Icon for exercise called Matching Brackets
Matching Brackets
Easy
Make sure the brackets and braces all match.
Icon for exercise called Sublist
Sublist
Easy
Write a function to determine if a list is a sublist of another list.
Icon for exercise called Atbash Cipher
Atbash Cipher
Easy
Create an implementation of the Atbash cipher, an ancient encryption system created in the Middle East.
Icon for exercise called Diamond
Diamond
Easy
Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.
Icon for exercise called Protein Translation
Protein Translation
Easy
Translate RNA sequences into proteins.
Icon for exercise called Prime Factors
Prime Factors
Easy
Compute the prime factors of a given natural number.
Icon for exercise called Say
Say
Easy
Given a number from 0 to 999,999,999,999, spell out that number in English.
Icon for exercise called Acronym
Acronym
Easy
Convert a long phrase to its acronym.
Icon for exercise called Series
Series
Easy
Given a string of digits, output all the contiguous substrings of length `n` in that string.
Icon for exercise called Run-Length Encoding
Run-Length Encoding
Easy
Implement run-length encoding and decoding.
Icon for exercise called Nth Prime
Nth Prime
Easy
Given a number n, determine what the nth prime is.
Icon for exercise called Twelve Days
Twelve Days
Easy
Output the lyrics to 'The Twelve Days of Christmas'.
Icon for exercise called Roman Numerals
Roman Numerals
Easy
Convert modern Arabic numbers into Roman numerals.
Icon for exercise called Word Count
Word Count
Easy
Given a phrase, count the occurrences of each word in that phrase.
Icon for exercise called Scrabble Score
Scrabble Score
Easy
Given a word, compute the Scrabble score for that word.
Icon for exercise called Proverb
Proverb
Easy
For want of a horseshoe nail, a kingdom was lost, or so the saying goes. Output the full text of this proverbial rhyme.
Icon for exercise called Luhn
Luhn
Easy
Given a number determine whether or not it is valid per the Luhn formula.
Icon for exercise called D&D Character
D&D Character
Easy
Randomly generate Dungeons & Dragons characters.
Icon for exercise called Robot Name
Robot Name
Easy
Manage robot factory settings.
Icon for exercise called Phone Number
Phone Number
Easy
Clean up user-entered phone numbers so that they can be sent SMS messages.
Icon for exercise called Queen Attack
Queen Attack
Easy
Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.
Icon for exercise called Transpose
Transpose
Easy
Take input text and output it transposed.
Icon for exercise called Yacht
Yacht
Easy
Score a single throw of dice in the game Yacht.
Icon for exercise called Eliud's Eggs
Eliud's Eggs
Easy
Help Eliud count the number of eggs in her chicken coop by counting the number of 1 bits in a binary representation.
Icon for exercise called Saddle Points
Saddle Points
Easy
Detect saddle points in a matrix.
Icon for exercise called OCR Numbers
OCR Numbers
Easy
Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
Icon for exercise called Robot Simulator
Robot Simulator
Easy
Write a robot simulator.
Icon for exercise called Grade School
Grade School
Easy
Given students' names along with the grade that they are in, create a roster for the school.
Icon for exercise called Sieve
Sieve
Easy
Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
Icon for exercise called Pythagorean Triplet
Pythagorean Triplet
Easy
Given an integer N, find all Pythagorean triplets for which a + b + c = N.
Icon for exercise called Circular Buffer
Circular Buffer
Easy
A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
Icon for exercise called Matrix
Matrix
Easy
Given a string representing a matrix of numbers, return the rows and columns of that matrix.
Icon for exercise called High Scores
High Scores
Easy
Manage a player's High Score list.
Icon for exercise called Kindergarten Garden
Kindergarten Garden
Easy
Given a diagram, determine which plants each child in the kindergarten class is responsible for.
Icon for exercise called Bottle Song
Bottle Song
Easy
Produce the lyrics to the popular children's repetitive song: Ten Green Bottles.
Icon for exercise called Allergies
Allergies
Easy
Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
Icon for exercise called Simple Cipher
Simple Cipher
Easy
Implement a simple shift cipher like Caesar and a more secure substitution cipher.
Icon for exercise called Poker
Poker
Easy
Pick the best hand(s) from a list of poker hands.
Icon for exercise called Wordy
Wordy
Easy
Parse and evaluate simple math word problems returning the answer as an integer.
Icon for exercise called Crypto Square
Crypto Square
Easy
Implement the classic method for composing secret messages called a square code.
Icon for exercise called Clock
Clock
Easy
Implement a clock that handles times without dates.
Icon for exercise called Rectangles
Rectangles
Easy
Count the rectangles in an ASCII diagram.
Icon for exercise called Simple Linked List
Simple Linked List
Easy
Write a simple linked list implementation that uses Elements and a List.
Icon for exercise called Tree Building
Tree Building
Easy
Refactor a tree building algorithm.
Icon for exercise called Connect
Connect
Easy
Compute the result for a game of Hex / Polygon.
Icon for exercise called All Your Base
All Your Base
Medium
Convert a number, represented as a sequence of digits in one base, to any other base.
Icon for exercise called Minesweeper
Minesweeper
Medium
Add the numbers to a minesweeper board.
Icon for exercise called Spiral Matrix
Spiral Matrix
Medium
Given the size, return a square matrix of numbers in spiral order.
Icon for exercise called Variable Length Quantity
Variable Length Quantity
Medium
Implement variable length quantity encoding and decoding.
Icon for exercise called Change
Change
Medium
Correctly determine change to be given using the least number of coins.
Icon for exercise called Killer Sudoku Helper
Killer Sudoku Helper
Medium
Write a tool that makes it easier to solve Killer Sudokus
Icon for exercise called Rail Fence Cipher
Rail Fence Cipher
Medium
Implement encoding and decoding for the rail fence cipher.
Icon for exercise called Palindrome Products
Palindrome Products
Medium
Detect palindrome products in a given range.
Icon for exercise called Tournament
Tournament
Medium
Tally the results of a small football competition.
Icon for exercise called Food Chain
Food Chain
Medium
Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'.
Icon for exercise called Scale Generator
Scale Generator
Medium
Generate musical scales, given a starting note and a set of intervals.
Icon for exercise called Largest Series Product
Largest Series Product
Medium
Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
Icon for exercise called Markdown
Markdown
Medium
Refactor a Markdown parser.
Icon for exercise called Meetup
Meetup
Medium
Calculate the date of meetups.
Icon for exercise called Pascal's Triangle
Pascal's Triangle
Medium
Compute Pascal's triangle up to a given number of rows.
Icon for exercise called Grep
Grep
Medium
Search a file for lines matching a regular expression pattern. Return the line number and contents of each matching line.
Icon for exercise called Linked List
Linked List
Medium
Implement a doubly linked list.
Icon for exercise called Complex Numbers
Complex Numbers
Medium
Implement complex numbers.
Icon for exercise called Ledger
Ledger
Medium
Refactor a ledger printer.
Icon for exercise called Hangman
Hangman
Medium
Implement the logic of the hangman game using functional reactive programming.
Icon for exercise called Go Counting
Go Counting
Medium
Count the scored points on a Go board.
Icon for exercise called Forth
Forth
Medium
Implement an evaluator for a very simple subset of Forth.
Icon for exercise called Binary Search Tree
Binary Search Tree
Medium
Insert and search for numbers in a binary tree.
Icon for exercise called Rational Numbers
Rational Numbers
Medium
Implement rational numbers.
Icon for exercise called Bowling
Bowling
Medium
Score a bowling game.
Icon for exercise called Knapsack
Knapsack
Medium
Given a knapsack that can only carry a certain weight, determine which items to put in the knapsack in order to maximize their combined value.
Icon for exercise called DOT DSL
DOT DSL
Medium
Write a Domain Specific Language similar to the Graphviz dot language.
Icon for exercise called Custom Set
Custom Set
Medium
Create a custom set type.
Icon for exercise called Zebra Puzzle
Zebra Puzzle
Medium
Solve the zebra puzzle.
Icon for exercise called Affine Cipher
Affine Cipher
Medium
Create an implementation of the Affine cipher, an ancient encryption algorithm from the Middle East.
Icon for exercise called Word Search
Word Search
Medium
Create a program to solve a word search puzzle.
Icon for exercise called Alphametics
Alphametics
Medium
Given an alphametics puzzle, find the correct solution.
Icon for exercise called Bank Account
Bank Account
Medium
Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
Icon for exercise called React
React
Medium
Implement a basic reactive system.
Icon for exercise called Zipper
Zipper
Medium
Creating a zipper for a binary tree.
Icon for exercise called Two Bucket
Two Bucket
Medium
Given two buckets of different size, demonstrate how to measure an exact number of liters.
Icon for exercise called Dominoes
Dominoes
Medium
Make a chain of dominoes.
Icon for exercise called Satellite
Satellite
Medium
Rebuild binary trees from pre-order and in-order traversals.
Icon for exercise called Book Store
Book Store
Medium
To try and encourage more sales of different books from a popular 5 book series, a bookshop has decided to offer discounts of multiple-book purchases.
Icon for exercise called SGF Parsing
SGF Parsing
Medium
Parsing a Smart Game Format string.
Icon for exercise called PaaS I/O
PaaS I/O
Medium
Report network IO statistics.
Icon for exercise called REST API
REST API
Hard
Implement a RESTful API for tracking IOUs.
Icon for exercise called POV
POV
Hard
Reparent a graph on a selected node.
Loading data