Gabriel Giordano's functional programming Elixir solutions for Exercism problems.
Problem | Solution | Categories | Notes | |
---|---|---|---|---|
⭐ | Markdown | .exs | Refactoring | Performatic and recursive O(n) markdown parser with metaprogrammed functions |
⭐ | Spiral Matrix | .exs | Lists, Transforming | Math solution |
⭐ | OCR Numbers | .exs | Enumerations, Strings | Uses streams and parallel processing with async_stream/2 |
⭐ | Queen Attack | .exs | Algorithms, Structs | Performatic and recursive O(64) to_string method to write the chess board |
Tournament | .exs | Formatting, Sorting, String Processing | ||
⭐ | Parallel Letter Frequency | .exs | Concurrency, OTP | Solution using async_stream/2 |
⭐ | Robot Simulator | .exs | Structs, Pattern Matching | O(n) solution where n is the string length, with metaprogrammed functions |
Grade School | .exs | Maps | ||
Leap | .exs | Algorithms | ||
Isogram | .exs | Reduce, Algorithms | ||
Saddle Points | .exs | Matrices, String Processing, Enumeration | ||
Triangle | .exs | Algorithms | ||
Hamming | .exs | String Processing | ||
Nth Prime | .exs | Algorithms, Recursion, Math | Performatic Stream solution | |
⭐ | Phone Number | .exs | String Processing, Pattern Matching | Performatic solution without Regex, with bits and binary of string |
All Your Base | .exs | Translation, Numbers, Math | ||
⭐ | Meetup | .exs | Time, Calendar, Pattern Matching | Concise solution working with rem and Date |
⭐ | Bracket Push | .exs | Algorithms, Reduce, Enumeration | Recursive O(n) solution |
⭐ | Matrix | .exs | String Processing, Structs | Recursive transpose algorithm that supports non-square matrixes, strings and integers conversions of n digits or characters, and efficient string to number implementation |
Anagram | .exs | Filter, Enumeration | Recursion with Map | |
Pangram | .exs | Enumerations, Strings | Recursion with MapSet | |
Sum of Multiples | .exs | Algorithms, Reduce, Math | Recursive solution to sum the multiples of the factors provided | |
⭐ | Scrabble Score | .exs | Reduce | Recursive and efficient solution with string's binary |
⭐ | Sublist | .exs | Lists, Enumeration | Recursive and efficient solution |
⭐ | Run Length Encoding | .exs | Algorithms, Strings | Encode and decode recursively |
Raindrops | .exs | Conditionals | Ternary operator simulated with && and || | |
⭐ | Series | .exs | String Processing | Performative and recursive solution with pattern matching in O(n*2) where n is the length of the String |
⭐ | Acronym | .exs | String Processing | Performative and recursive solution using the bits of the String |
Accumulate | .exs | Recursion, Reduce | Simple solution to map with recursion | |
Twelve Days | .exs | Enumerations, Reduce, String Formatting | Compose each verse recursively | |
Space Age | .exs | Pattern Matching | Just pre-multiply the planet orbit by the Earth orbit | |
Pig Latin | .exs | Pattern Matching, String Processing | Translate recursively | |
Protein Translation | .exs | Pattern Matching, String Processing | Simple solution to get recursively each codon using the binary of the string | |
Strain | .exs | Collections | Simple solution to filter an Enum | |
Rotational Cipher | .exs | String Processing | ||
⭐ | Secret Handshake | .exs | Binary Representation | Binary pattern matching, without Bitwise module |
Nucleotide Count | .exs | Enumerables, Maps, String Processing | ||
RNA Transcription | .exs | Strings | ||
List Ops | .exs | Lists, Enumeration, Recursion | ||
Beer Song | .exs | Recursion, Pattern Matching | ||
Roman Numerals | .exs | Algorithms, Pattern Matching | Integer's reduce implementation | |
Word Count | .exs | Lists, Maps, Reduce | ||
Bob | .exs | Control Flow, String Processing | ||
Hello World | .exs | Strings |