- Hello World The classical introductory exercise. Just say "Hello, World!"
- Sum Of Multiples Given a number, find the sum of all the multiples of particular numbers up to but not including that number.
- Leap Given a year, report if it is a leap year.
- Bob Bob is a lackadaisical teenager. In conversation, his responses are very limited.
- Space Age Given an age in seconds, calculate how old someone is in terms of a given planet's solar years.
- Grade School Given students' names along with the grade that they are in, create a roster for the school
- Accumulate
Implement the
accumulate
operation, which, given a collection and an operation to perform on each element of the collection, returns a new collection containing the result of applying that operation to each element of the input collection. - Hamming Calculate the Hamming difference between two DNA strands.
- Etl
We are going to do the
Transform
step of an Extract-Transform-Load. - Perfect Numbers Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
- Secret Handshake Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
- Robot Simulator Write a robot simulator.
- Matrix Given a string representing a matrix of numbers, return the rows and columns of that matrix.
- Book Store 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.
- Gigasecond Calculate the moment when someone has lived for 10^9 seconds.
- Difference Of Squares Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
- Pangram Determine if a sentence is a pangram.
- Raindrops Convert a number to a string, the contents of which depend on the number's factors.
- Phone Number Clean up user-entered phone numbers so that they can be sent SMS messages.
- Strain
Implement the
keep
anddiscard
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, whilediscard
returns a new collection containing those elements where the predicate is false. - Robot Name Manage robot factory settings.
- Grains Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
- Scrabble Score Given a word, compute the scrabble score for that word.
- Rna Transcription Given a DNA strand, return its RNA complement (per RNA transcription).
- Triangle Determine if a triangle is equilateral, isosceles, or scalene.
- Binary Search Implement a binary search algorithm.
- Sieve Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
- Isogram Determine if a word or phrase is an isogram.
- Clock Implement a clock that handles times without dates.
- Protein Translation Translate RNA sequences into proteins.
- Beer Song Produce the lyrics to that beloved classic, that field-trip favorite: 99 Bottles of Beer on the Wall.
- House Output the nursery rhyme 'This is the House that Jack Built'.
- Series
Given a string of digits, output all the contiguous substrings of length
n
in that string. - Word Count Given a phrase, count the occurrences of each word in that phrase.
- Anagram Given a word and a list of possible anagrams, select the correct sublist.
- Nucleotide Count Given a DNA string, compute how many times each nucleotide occurs in the string.
- Meetup Calculate the date of meetups.
- Prime Factors Compute the prime factors of a given natural number.
- Allergies Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
- All Your Base Convert a number, represented as a sequence of digits in one base, to any other base.
- Kindergarten Garden Given a diagram, determine which plants each child in the kindergarten class is responsible for.
- Largest Series Product Given a string of digits, calculate the largest product for a contiguous substring of digits of length n.
- Pascals Triangle Compute Pascal's triangle up to a given number of rows.
- Pythagorean Triplet There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product a * b * c.
- Saddle Points Detect saddle points in a matrix.
- Acronym Convert a long phrase to its acronym
- Run Length Encoding Implement run-length encoding and decoding.
- Roman Numerals Write a function to convert from normal numbers to Roman Numerals.
- Simple Linked List Write a simple linked list implementation that uses Elements and a List
- Atbash Cipher Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.
- Simple Cipher Implement a simple shift cipher like Caesar and a more secure substitution cipher
- Bank Account Simulate a bank account supporting opening/closing, withdraws, and deposits of money. Watch out for concurrent transactions!
- Crypto Square Implement the classic method for composing secret messages called a square code.
- Bracket Push Make sure the brackets and braces all match.
- Queen Attack Given the position of two queens on a chess board, indicate whether or not they are positioned so that they can attack each other.
- Luhn Given a number determine whether or not it is valid per the Luhn formula.
- Food Chain Generate the lyrics of the song 'I Know an Old Lady Who Swallowed a Fly'
- Linked List Implement a doubly linked list
- Spiral Matrix Given the size, return a square matrix of numbers in spiral order.
- Custom Set Create a custom set type.
- Parallel Letter Frequency Count the frequency of letters in texts using parallel computation.
- Nth Prime Given a number n, determine what the nth prime is.
- Palindrome Products Detect palindrome products in a given range.
- Ocr Numbers Given a 3 x 4 grid of pipes, underscores, and spaces, determine which number is represented, or whether it is garbled.
- Pig Latin Implement a program that translates from English to Pig Latin
- Binary Search Tree Insert and search for numbers in a binary tree.
- Rail Fence Cipher Implement encoding and decoding for the rail fence cipher.
- Bowling Score a bowling game
- Dominoes Make a chain of dominoes.
- Sublist Write a function to determine if a list is a sublist of another list.
- Minesweeper Add the numbers to a minesweeper board
- Wordy Parse and evaluate simple math word problems returning the answer as an integer.
- Change Correctly determine change to be given using the least number of coins
- Connect Compute the result for a game of Hex / Polygon
- Zebra Puzzle Solve the zebra puzzle.
- Say Given a number from 0 to 999,999,999,999, spell out that number in English.
- Alphametics Write a function to solve alphametics puzzles.
- Sgf Parsing Parsing a Smart Game Format string.
- Lens Person Use lenses to update nested records (specific to languages with immutable data).
- Variable Length Quantity Implement variable length quantity encoding and decoding.
- Zipper Creating a zipper for a binary tree.
- Forth Implement an evaluator for a very simple subset of Forth