When you're logged in, you can say
exercism fetch typescript to get the next available exercise on the track.
Every time you submit a solution to an exercise, you will get the next in line the next time you fetch.
If you want to try a specific exercise, you can always fetch it directly (commands are listed below).
The exercises are ordered roughly in order of difficulty.
- Hello World The classical introductory exercise. Just say "Hello, World!"
- Leap Given a year, report if it is a leap year.
- Rna Transcription Given a DNA strand, return its RNA complement (per RNA transcription).
- Bob Bob is a lackadaisical teenager. In conversation, his responses are very limited.
- Pangram Determine if a sentence is a pangram.
- Space Age Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
- Strain Implement the `keep` and `discard` operation on collections. Given a collection and a predicate on the collection's elements, `keep` returns a new collection containing those elements where the predicate is true, while `discard` returns a new collection containing those elements where the predicate is false.
- Prime Factors Compute the prime factors of a given natural number.
- Nth Prime Given a number n, determine what the nth prime is.
- Sum Of Multiples Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
- Linked List Implement a doubly linked list
- Binary Search Tree Insert and search for numbers in a binary tree.
- Robot Name Manage robot factory settings.
- Grade School Given students' names along with the grade that they are in, create a roster for the school
- Wordy Parse and evaluate simple math word problems returning the answer as an integer.
- Circular Buffer A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
- Gigasecond Calculate the moment when someone has lived for 10^9 seconds.
- Series Given a string of digits, output all the contiguous substrings of length `n` in that string.
- Difference Of Squares Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
- Word Count Given a phrase, count the occurrences of each word in that phrase.
- Raindrops Convert a number to a string, the contents of which depend on the number's factors.
- Etl We are going to do the `Transform` step of an Extract-Transform-Load.
- Hamming Calculate the Hamming difference between two DNA strands.
- Scrabble Score Given a word, compute the scrabble score for that word.
- Acronym Convert a long phrase to its acronym
- Anagram Given a word and a list of possible anagrams, select the correct sublist.
- Phone Number Clean up user-entered phone numbers so that they can be sent SMS messages.
- Beer Song Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
- Say Given a number from 0 to 999,999,999,999, spell out that number in English.
- Food Chain Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'
- Clock Implement a clock that handles times without dates.
- Triangle Determine if a triangle is equilateral, isosceles, or scalene.
- Pascals Triangle Compute Pascal's triangle up to a given number of rows.
- Binary Search Implement a binary search algorithm.
- Rotational Cipher Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
- Largest Series Product Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
- Robot Simulator Write a robot simulator.
- Pythagorean Triplet There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product a * b * c.
- Ocr Numbers Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
- Diamond Given a letter, print a diamond starting with 'A' with the supplied letter at the widest point.