# Advent of Code 2020 in Gleam ![Gleam](https://img.shields.io/badge/Gleam-grey?logo=Elixir) ![Stars](https://img.shields.io/badge/🌟%20stars-50/50-orange) | Day | Problem Name | Part 1 | Part 2 | Practiced Concepts | | :----: | --------------------------------------------------------------- | :----: | :----: | -------------------------------------------------------------------------- | | **01** | [Report Repair](https://adventofcode.com/2020/day/1) | :star: | :star: | stdlib, file reading, `\|>`, `gleam/io` | | **02** | [Password Philosophy](https://adventofcode.com/2020/day/2) | :star: | :star: | parsing, higher-order functions, structures | | **03** | [Toboggan Trajectory](https://adventofcode.com/2020/day/3) | :star: | :star: | 2D vectors, uniform motion, grids | | **04** | [Passport Processing](https://adventofcode.com/2020/day/4) | :star: | :star: | parsing | | **05** | [Binary Boarding](https://adventofcode.com/2020/day/5) | :star: | :star: | binary numbers, `gleam/iterator`, `gleam/set` | | **06** | [Custom Customs](https://adventofcode.com/2020/day/6) | :star: | :star: | type aliases, parsing, `gleam/list`, `gleam/set` | | **07** | [Handy Haversacks](https://adventofcode.com/2020/day/7) | :star: | :star: | parsing, graphs, recursion, `gleam/dict`, `gleam/iterator` | | **08** | [Handheld Halting](https://adventofcode.com/2020/day/8) | :star: | :star: | ADTs, parsing, pattern matching, interpreters, `gleam/option` | | **09** | [Encoding Error](https://adventofcode.com/2020/day/9) | :star: | :star: | `gleam/list`, `gleam/pair`, two-sum | | **10** | [Adapter Array](https://adventofcode.com/2020/day/10) | :star: | :star: | dynamic programming, memoization, OTP, actors, `use <-` | | **11** | [Seating System](https://adventofcode.com/2020/day/11) | :star: | :star: | grids, `gleam/iterator`, pattern matching, 2D vectors, ADTs | | **12** | [Rain Risk](https://adventofcode.com/2020/day/12) | :star: | :star: | ADTs, state machines, pattern matching, interpreters | | **13** | [Shuttle Search](https://adventofcode.com/2020/day/13) | :star: | :star: | scheduling, LCD, GCD, `gleam/iterator` | | **14** | [Docking Data](https://adventofcode.com/2020/day/14) | :star: | :star: | ADTs, state machines, parsing, pattern matching, interpreters, graphs, DFS | | **15** | [Rambunctious Recitation](https://adventofcode.com/2020/day/15) | :star: | :star: | `gleam/dict`, `gleam/iterator`, simulation | | **16** | [Ticket Translation](https://adventofcode.com/2020/day/16) | :star: | :star: | parsing, ranges, ADTs, recursion | | **17** | [Conway Cubes](https://adventofcode.com/2020/day/17) | :star: | :star: | `gleam/set`, 3D vectors, 4D vectors, grids, recursion | | **18** | [Operation Order](https://adventofcode.com/2020/day/18) | :star: | :star: | ADTs, ASTs, recursive-descent parsers | | **19** | [Monster Messages](https://adventofcode.com/2020/day/19) | :star: | :star: | parsing, ADTs, CSP, references | | **20** | [Jurassic Jigsaw](https://adventofcode.com/2020/day/20) | :star: | :star: | grids, 2D vectors, transforms, CSP, `gleam/dict` | | **21** | [Allergen Assessment](https://adventofcode.com/2020/day/21) | :star: | :star: | parsing, CSP, recursion | | **22** | [Crab Combat](https://adventofcode.com/2020/day/22) | :star: | :star: | simulation, recursion, `gleam/option`, `gleam/order`, `use <-` | | **23** | [Crab Cups](https://adventofcode.com/2020/day/23) | :star: | :star: | cyclic buffers, recursion, `gleam/dict`, `gleam/iterator` | | **24** | [Lobby Layout](https://adventofcode.com/2020/day/24) | :star: | :star: | parsing, hexagonal coordinates, simulation, game of life | | **25** | [Combo Breaker](https://adventofcode.com/2020/day/25) | :star: | :star: | modular arithmetic, key exchange |