File tree 14 files changed +38
-14
lines changed
14 files changed +38
-14
lines changed Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2015.Day01 do
3
3
--- Day 1: Not Quite Lisp ---
4
4
Problem Link: https://adventofcode.com/2015/day/1
5
5
Difficulty: xs
6
- Tags: sequential
6
+ Tags: sequence
7
7
"""
8
8
alias AdventOfCode.Helpers.InputReader
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2015.Day02 do
3
3
--- Day 2: I Was Told There Would Be No Math ---
4
4
Problem Link: https://adventofcode.com/2015/day/2
5
5
Difficulty: xs
6
- Tags: geometry2D
6
+ Tags: geometry2d
7
7
"""
8
8
alias AdventOfCode.Helpers . { InputReader , Transformers }
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2015.Day13 do
3
3
--- Day 13: Knights of the Dinner Table ---
4
4
Problem Link: https://adventofcode.com/2015/day/13
5
5
Difficulty: s
6
- Tags: brute-force permutations slow
6
+ Tags: brute-force combinatorics slow
7
7
"""
8
8
alias AdventOfCode.Helpers . { InputReader , Transformers }
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2015.Day19 do
3
3
--- Day 19: Medicine for Rudolph ---
4
4
Problem Link: https://adventofcode.com/2015/day/19
5
5
Difficulty: m
6
- Tags: not-fast-enough revisit vector random-access-list
6
+ Tags: not-fast-enough revisit vector random-access
7
7
8
8
Helpful Tips for Part II: (,) analogy
9
9
https://www.reddit.com/r/adventofcode/comments/3xflz8/day_19_solutions/cy4etju
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2018.Day06 do
3
3
--- Day 6: Chronal Coordinates ---
4
4
Problem Link: https://adventofcode.com/2018/day/6
5
5
Difficulty: s
6
- Tags: not-fast-enough grid distance bounded-box
6
+ Tags: not-fast-enough grid measurement bounded-box
7
7
"""
8
8
@ type point :: { integer ( ) , integer ( ) }
9
9
@ type points :: list ( point ( ) )
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2019.Day03 do
3
3
--- Day 3: Crossed Wires ---
4
4
Problem Link: https://adventofcode.com/2019/day/3
5
5
Difficulty: xs
6
- Tags: grid navigation set not-fast-enough
6
+ Tags: grid walk set not-fast-enough
7
7
"""
8
8
alias AdventOfCode.Helpers . { InputReader , Transformers }
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2021.Day03 do
3
3
--- Day 3: Binary Diagnostic ---
4
4
Problem Link: https://adventofcode.com/2021/day/3
5
5
Difficulty: s
6
- Tags: computation
6
+ Tags: calculation
7
7
"""
8
8
alias AdventOfCode.Helpers.InputReader
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2022.Day06 do
3
3
--- Day 6: Tuning Trouble ---
4
4
Problem Link: https://adventofcode.com/2022/day/6
5
5
Difficulty: xs
6
- Tags: binary-manipulation set
6
+ Tags: bitwise set
7
7
"""
8
8
alias AdventOfCode.Helpers.InputReader
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2022.Day09 do
3
3
--- Day 9: Rope Bridge ---
4
4
Problem Link: https://adventofcode.com/2022/day/9
5
5
Difficulty: m
6
- Tags: erlang grid grid- walk
6
+ Tags: erlang grid walk
7
7
"""
8
8
alias AdventOfCode.Helpers.InputReader
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2022.Day19 do
3
3
--- Day 19: Not Enough Minerals ---
4
4
Problem Link: https://adventofcode.com/2022/day/19
5
5
Difficulty: xl
6
- Tags: erlang slow revisit navigation maximization
6
+ Tags: erlang slow revisit grid walk optimization
7
7
"""
8
8
alias AdventOfCode.Helpers.InputReader
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2022.Day23 do
3
3
--- Day 23: Unstable Diffusion ---
4
4
Problem Link: https://adventofcode.com/2022/day/23
5
5
Difficulty: m
6
- Tags: erlang slow grid2d grid- walk
6
+ Tags: erlang slow grid walk
7
7
"""
8
8
alias AdventOfCode.Helpers.InputReader
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2023.Day08 do
3
3
--- Day 8: Haunted Wasteland ---
4
4
Problem Link: https://adventofcode.com/2023/day/8
5
5
Difficulty: s
6
- Tags: arithmetic lcd sequence
6
+ Tags: arithmetic sequence
7
7
"""
8
8
alias AdventOfCode.Helpers . { InputReader , Transformers }
9
9
Original file line number Diff line number Diff line change @@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2023.Day09 do
3
3
--- Day 9: Mirage Maintenance ---
4
4
Problem Link: https://adventofcode.com/2023/day/9
5
5
Difficulty: xs
6
- Tags: sequence reduce
6
+ Tags: sequence reduction
7
7
"""
8
8
alias AdventOfCode.Helpers . { InputReader , Transformers }
9
9
Original file line number Diff line number Diff line change @@ -7,12 +7,36 @@ defmodule AdventOfCode.Helpers.Meta do
7
7
8
8
@ year_range 2015 .. AdventOfCode . get_latest_year ( )
9
9
10
+ @ doc """
11
+ Returns data of all solutions.
12
+ """
10
13
def solutions_summary do
11
14
for year <- @ year_range , into: % { } do
12
15
{ year , get_info ( year , true ) }
13
16
end
14
17
end
15
18
19
+ @ doc """
20
+ Returns all the tags that is created. This is useful to run on the REPL and dedupe similar tags with typos.
21
+ """
22
+ def all_tags , do: enlist_attr_type ( :tag_summary )
23
+
24
+ @ doc """
25
+ Returns all the difficulty levels that were added. This is useful to run on the REPL and fix typos.
26
+ """
27
+ def all_difficulties , do: enlist_attr_type ( :difficulty_summary )
28
+
29
+ defp enlist_attr_type ( attr ) do
30
+ @ year_range
31
+ |> Enum . map ( & get_info / 1 )
32
+ |> Enum . flat_map ( & Map . keys ( & 1 [ attr ] ) )
33
+ |> Enum . sort ( )
34
+ |> Enum . dedup ( )
35
+ end
36
+
37
+ @ doc """
38
+ Gets solutions metadata for given year. Returns either as a map or keyword tuple
39
+ """
16
40
def get_info ( year , as_map \\ false ) do
17
41
daywise_summary =
18
42
for day <- 1 .. 25 do
@@ -87,7 +111,7 @@ defmodule AdventOfCode.Helpers.Meta do
87
111
end
88
112
end
89
113
90
- def get_metadata ( year , day ) do
114
+ defp get_metadata ( year , day ) do
91
115
"Elixir.AdventOfCode.Y#{ year } .Day#{ padded ( day ) } "
92
116
|> String . to_existing_atom ( )
93
117
|> Code . fetch_docs ( )
You can’t perform that action at this time.
0 commit comments