teams edition
Sign up
Log in
Home
Language tracks
Julia track
Exercises
Exercises on the Julia track
Join the Julia Track
52 exercises to help you master Julia
easy
Hello World
The classical introductory exercise. Just say "Hello, World!"
strings
easy
Leap
Given a year, report if it is a leap year.
integers
math
conditionals
easy
Nucleotide Count
Given a DNA string, compute how many times each nucleotide occurs in the string.
chars
strings
loops
easy
Hamming
Calculate the Hamming difference between two DNA strands.
generators
strings
exception handling
easy
RNA Transcription
Given a DNA strand, return its RNA Complement Transcription.
exception handling
filtering
pattern matching
strings
easy
Darts
Write a function that returns the earned points in a single toss of a Darts game
conditionals
math
easy
Bob
Bob is a lackadaisical teenager. In conversation, his responses are very limited.
strings
unicode
conditionals
easy
Run Length Encoding
Implement run-length encoding and decoding.
algorithms
strings
text formatting
easy
Pangram
Determine if a sentence is a pangram.
arrays
filtering
strings
easy
Anagram
Given a word and a list of possible anagrams, select the correct sublist.
arrays
filtering
sorting
strings
loops
easy
Binary Search
Implement a binary search algorithm.
arrays
searching
easy
Rotational Cipher
Create an implementation of the rotational cipher, also sometimes called the Caesar cipher.
metaprogramming
string literals
strings
easy
Atbash Cipher
Create an implementation of the atbash cipher, an ancient encryption system created in the Middle East.
strings
conditionals
loops
easy
Difference Of Squares
Find the difference between the square of the sum and the sum of the squares of the first N natural numbers.
generators
math
easy
Pascal's Triangle
Compute Pascal's triangle up to a given number of rows.
integers
math
conditionals
exception handling
easy
Raindrops
Convert a number to a string, the content of which depends on the number's factors.
arrays
strings
loops
easy
Scrabble Score
Given a word, compute the Scrabble score for that word.
arrays
strings
conditionals
loops
easy
Word Count
Given a phrase, count the occurrences of each word in that phrase.
arrays
strings
loops
easy
Luhn
Given a number determine whether or not it is valid per the Luhn formula.
strings
math
conditionals
easy
Roman Numerals
Write a function to convert from normal numbers to Roman Numerals.
strings
loops
easy
Isogram
Determine if a word or phrase is an isogram.
arrays
strings
conditionals
loops
easy
ETL
We are going to do the `Transform` step of an Extract-Transform-Load.
arrays
sorting
strings
easy
Collatz Conjecture
Calculate the number of steps to reach 1 using the Collatz conjecture
math
exception handling
conditionals
easy
Sieve
Use the Sieve of Eratosthenes to find all the primes from 2 up to a given number.
arrays
filtering
math
conditionals
loops
easy
Trinary
Convert a trinary number, represented as a string (e.g. '102012'), to its decimal equivalent using first principles.
arrays
integers
strings
math
easy
Secret Handshake
Given a decimal number, convert it to the appropriate sequence of events for a secret handshake.
arrays
filtering
easy
Phone Number
Clean up user-entered phone numbers so that they can be sent SMS messages.
conditionals
pattern matching
regular expressions
strings
easy
Triangle
Determine if a triangle is equilateral, isosceles, or scalene.
conditionals
easy
Transpose
Take input text and output it transposed.
arrays
strings
conditionals
loops
medium
Clock
Implement a clock that handles times without dates.
time
multiple dispatch
structs
hard
Complex Numbers
Implement complex numbers.
multiple dispatch
structs
math
hard
Rational Numbers
Implement rational numbers.
math
multiple dispatch
structs
hard
Custom Set
Create a custom set type.
iterators
multiple dispatch
structs
medium
Robot Name
Manage robot factory settings.
randomness
strings
structs
easy
Gigasecond
Given a moment, determine the moment that would be after a gigasecond has passed.
dates
medium
Robot Simulator
Write a robot simulator.
structs
easy
Resistor Color Trio
Convert color codes, as used on resistors, to a human-readable label.
arrays
loops
text formatting
strings
easy
Grains
Calculate the number of grains of wheat on a chessboard given that the number on each square doubles.
exception handling
easy
Spiral Matrix
Given the size, return a square matrix of numbers in spiral order.
matrix
iterators
medium
ISBN Verifier
Check if a given string is a valid ISBN-10 number.
metaprogramming
strings
structs
math
conditionals
easy
Armstrong Numbers
Determine if a number is an Armstrong number
integers
math
math
medium
Pythagorean Triplet
There exists exactly one Pythagorean triplet for which a + b + c = 1000. Find the product a * b * c.
conditionals
type conversion
loops
variables
tuples
integers
lists
arrays
logic
math
algorithms
functional programming
medium
D&D Character
Randomly generate Dungeons & Dragons characters
variables
integers
structs
games
randomness
math
test driven development
easy
Reverse String
Reverse a string
generics
loops
variables
strings
integers
lists
arrays
text formatting
data structures
functional programming
easy
Acronym
Convert a long phrase to its acronym
arrays
loops
strings
easy
Prime Factors
Compute the prime factors of a given natural number.
math
integers
easy
Minesweeper
Add the numbers to a minesweeper board
loops
conditionals
variables
strings
integers
lists
booleans
arrays
text formatting
easy
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.
broadcast
conditionals
variables
integers
arrays
easy
Allergies
Given a person's allergy score, determine whether or not they're allergic to a given item, and their full list of allergies.
loops
conditionals
integers
lists
booleans
enumerations
arrays
bitwise operations
medium
Matching Brackets
Make sure the brackets and braces all match.
loops
conditionals
variables
integers
booleans
stacks
arrays
data structures
algorithms
easy
Perfect Numbers
Determine if a number is perfect, abundant, or deficient based on Nicomachus' (60 - 120 CE) classification scheme for natural numbers.
loops
conditionals
variables
integers
lists
strings
logic
math
functional programming
hard
Circular Buffer
A data structure that uses a single, fixed-size buffer as if it were connected end-to-end.
data structures
generics
structs