1. Fill in the tests with the example solutions.
1. Write your implementation.
1. Fill in the final problem inputs into the mix task and run `mix d01.p1`!
+ - Benchmark your solution by passing the `-b` flag, `mix d01.p1 -b`
```elixir
defmodule AdventOfCode2019.Day01 do
import AdventOfCode2019.Day01
@shortdoc "Day 01 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
end
```
+++ /dev/null
-defmodule AdventOfCode2019 do
- @moduledoc """
- Documentation for AdventOfCode2019.
- """
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day01 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day02 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day03 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day04 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day05 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day06 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day07 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day08 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day09 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day10 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day11 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day12 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day13 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day14 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day15 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day16 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day17 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day18 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day19 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day20 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day21 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day22 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day23 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day24 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
+++ /dev/null
-defmodule AdventOfCode2019.Day25 do
- def part1(args) do
- end
-
- def part2(args) do
- end
-end
--- /dev/null
+defmodule AdventOfCode2019 do
+ @moduledoc """
+ Documentation for AdventOfCode2019.
+ """
+end
--- /dev/null
+defmodule AdventOfCode2019.Day01 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day02 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day03 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day04 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day05 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day06 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day07 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day08 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day09 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day10 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day11 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day12 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day13 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day14 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day15 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day16 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day17 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day18 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day19 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day20 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day21 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day22 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day23 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day24 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
--- /dev/null
+defmodule AdventOfCode2019.Day25 do
+ def part1(args) do
+ end
+
+ def part2(args) do
+ end
+end
import AdventOfCode2019.Day01
@shortdoc "Day 01 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day01
@shortdoc "Day 01 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day02
@shortdoc "Day 02 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day02
@shortdoc "Day 02 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day03
@shortdoc "Day 03 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day03
@shortdoc "Day 03 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day04
@shortdoc "Day 04 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day04
@shortdoc "Day 04 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day05
@shortdoc "Day 05 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day05
@shortdoc "Day 05 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day06
@shortdoc "Day 06 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day06
@shortdoc "Day 06 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day07
@shortdoc "Day 07 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day07
@shortdoc "Day 07 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day08
@shortdoc "Day 08 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day08
@shortdoc "Day 08 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day09
@shortdoc "Day 09 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day09
@shortdoc "Day 09 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day10
@shortdoc "Day 10 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day10
@shortdoc "Day 10 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day11
@shortdoc "Day 11 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day11
@shortdoc "Day 11 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day12
@shortdoc "Day 12 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day12
@shortdoc "Day 12 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day13
@shortdoc "Day 13 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day13
@shortdoc "Day 13 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day14
@shortdoc "Day 14 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day14
@shortdoc "Day 14 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day15
@shortdoc "Day 15 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day15
@shortdoc "Day 15 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day16
@shortdoc "Day 16 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day16
@shortdoc "Day 16 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day17
@shortdoc "Day 17 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day17
@shortdoc "Day 17 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day18
@shortdoc "Day 18 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day18
@shortdoc "Day 18 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day19
@shortdoc "Day 19 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day19
@shortdoc "Day 19 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day20
@shortdoc "Day 20 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day20
@shortdoc "Day 20 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day21
@shortdoc "Day 21 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day21
@shortdoc "Day 21 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day22
@shortdoc "Day 22 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day22
@shortdoc "Day 22 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day23
@shortdoc "Day 23 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day23
@shortdoc "Day 23 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day24
@shortdoc "Day 24 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day24
@shortdoc "Day 24 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
import AdventOfCode2019.Day25
@shortdoc "Day 25 Part 1"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part1()
- |> IO.inspect(label: "Part 1 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_1: fn -> input |> part1() end}),
+ else:
+ input
+ |> part1()
+ |> IO.inspect(label: "Part 1 Results")
end
-end
+end
import AdventOfCode2019.Day25
@shortdoc "Day 25 Part 2"
- def run(_) do
+ def run(args) do
input = nil
- input
- |> part2()
- |> IO.inspect(label: "Part 2 Results")
+ if Enum.member?(args, "-b"),
+ do: Benchee.run(%{part_2: fn -> input |> part2() end}),
+ else:
+ input
+ |> part2()
+ |> IO.inspect(label: "Part 2 Results")
end
-end
+end
# Run "mix help deps" to learn about dependencies.
defp deps do
[
- # {:dep_from_hexpm, "~> 0.3.0"},
- # {:dep_from_git, git: "https://github.com/elixir-lang/my_dep.git", tag: "0.1.0"},
+ {:benchee, "~> 1.0"}
]
end
end
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result
@tag :skip
test "part1" do
- input = nil
+ input = nil
result = part1(input)
assert result
@tag :skip
test "part2" do
- input = nil
+ input = nil
result = part2(input)
assert result