Skip to content

Commit a7674bf

Browse files
committed
Update windows CRLF
1 parent 7549bdb commit a7674bf

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

59 files changed

+799
-705
lines changed

lib/2015/day_07/day_07.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2015.Day07 do
33
--- Day 7: Some Assembly Required ---
44
Problem Link: https://adventofcode.com/2015/day/7
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77
alias AdventOfCode.Y2015.Day07.ControlPanel
88

99
def input, do: InputReader.read_from_file(2015, 7)
@@ -34,7 +34,7 @@ defmodule AdventOfCode.Y2015.Day07 do
3434

3535
def parse(data \\ input()) do
3636
data
37-
|> String.split("\n", trim: true)
37+
|> Transformers.lines()
3838
|> Enum.map(&tokenize/1)
3939
|> Map.new(fn {instruction, wire} ->
4040
{wire, %{relation: instruction, providers: get_providers(instruction)}}

lib/2015/day_19.ex

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defmodule AdventOfCode.Y2015.Day19 do
22
@moduledoc """
33
--- Day 19: Medicine for Rudolph ---
44
Problem Link: https://adventofcode.com/2015/day/19
5-
5+
66
Helpful Tips for Part II: (,) analogy
77
https://www.reddit.com/r/adventofcode/comments/3xflz8/day_19_solutions/cy4etju
88
"""

lib/2015/day_21.ex

+3-3
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@ defmodule AdventOfCode.Y2015.Day21 do
1313
Warhammer 25 6 0
1414
Longsword 40 7 0
1515
Greataxe 74 8 0
16-
16+
1717
Armor: Cost Damage Armor
1818
Leather 13 0 1
1919
Chainmail 31 0 2
2020
Splintmail 53 0 3
2121
Bandedmail 75 0 4
2222
Platemail 102 0 5
23-
23+
2424
Rings: Cost Damage Armor
2525
Damage +1 25 1 0
2626
Damage +2 50 2 0
@@ -85,7 +85,7 @@ defmodule AdventOfCode.Y2015.Day21 do
8585

8686
def store do
8787
@item_db
88-
|> String.split("\n\n", trim: true)
88+
|> String.split(~r{(\r\n\r\n|\r\r|\n\n)}, trim: true)
8989
|> Enum.map(&Transformers.lines/1)
9090
|> Map.new(fn [title | data] ->
9191
{

lib/2016/day_02.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2016.Day02 do
33
--- Day 2: Bathroom Security ---
44
Problem Link: https://adventofcode.com/2016/day/2
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2016, 2)
99
@initial_position_1 5
@@ -38,7 +38,7 @@ defmodule AdventOfCode.Y2016.Day02 do
3838

3939
defp parse(input) do
4040
input
41-
|> String.split("\n")
41+
|> Transformers.lines()
4242
|> Enum.map(&String.graphemes/1)
4343
end
4444

lib/2016/day_06.ex

+3-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2016.Day06 do
33
--- Day 6: Signals and Noise ---
44
Problem Link: https://adventofcode.com/2016/day/6
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2016, 6)
99

@@ -16,10 +16,11 @@ defmodule AdventOfCode.Y2016.Day06 do
1616
def do_run(input, type), do: Enum.map_join(input, &frequency(&1, type))
1717

1818
def parse(input) do
19-
len = String.split(input, "\n", trim: true) |> hd() |> String.length()
19+
len = input |> Transformers.lines() |> hd() |> String.length()
2020

2121
input
2222
|> String.replace("\n", "")
23+
|> String.replace("\r", "")
2324
|> String.codepoints()
2425
|> Enum.with_index()
2526
|> Enum.map(fn {k, idx} -> {k, rem(idx, len)} end)

lib/2017/day_10.ex

+6-6
Original file line numberDiff line numberDiff line change
@@ -20,21 +20,21 @@ defmodule AdventOfCode.Y2017.Day10 do
2020

2121
@doc """
2222
Computes knot hash for given `key_string`
23-
23+
2424
## Example
25-
25+
2626
iex> Solution.compute_knot_hash("")
2727
"a2582a3a0e66e6e86e3812dcb672a272"
28-
28+
2929
iex> Solution.compute_knot_hash("AoC 2017")
3030
"33efeb34ea91902bb2f59c9920caa6cd"
31-
31+
3232
iex> Solution.compute_knot_hash("1,2,3")
3333
"3efbe78a8d82f29979031a4aa0b16a9d"
34-
34+
3535
iex> Solution.compute_knot_hash("1,2,4")
3636
"63960835bcdc130f0b66d7ff4f6a5a8e"
37-
37+
3838
"""
3939
def compute_knot_hash(key_string) do
4040
{bytes, list_map} = parse_bytes(key_string)

lib/2017/day_14.ex

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defmodule AdventOfCode.Y2017.Day14 do
22
@moduledoc """
33
--- Day 14: Disk Defragmentation ---
44
Problem Link: https://adventofcode.com/2017/day/14
5-
5+
66
TODO: Look into strongly connected components to get the regions.
77
"""
88
alias AdventOfCode.Helpers.{InputReader, Transformers}

lib/2018/day_05.ex

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defmodule AdventOfCode.Y2018.Day05 do
22
@moduledoc """
33
--- Day 5: Alchemical Reduction ---
44
Problem Link: https://adventofcode.com/2018/day/5
5-
5+
66
Thanks to `BenAlbin/Adent-Of-Code-2018` for the fastest solution, and helping me
77
learn interesting way of solving the problem.
88
"""

lib/2019/day_01.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2019.Day01 do
33
--- Day 1: The Tyranny of the Rocket Equation ---
44
Problem Link: https://adventofcode.com/2019/day/1
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2019, 1)
99

@@ -29,7 +29,7 @@ defmodule AdventOfCode.Y2019.Day01 do
2929

3030
def parse(data) do
3131
data
32-
|> String.split("\n")
32+
|> Transformers.lines()
3333
|> Enum.map(&String.to_integer/1)
3434
end
3535

lib/2019/day_03.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2019.Day03 do
33
--- Day 3: Crossed Wires ---
44
Problem Link: https://adventofcode.com/2019/day/3
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
@origin {0, 0}
99

@@ -42,7 +42,7 @@ defmodule AdventOfCode.Y2019.Day03 do
4242

4343
def parse(data) do
4444
data
45-
|> String.split("\n")
45+
|> Transformers.lines()
4646
|> Enum.map(fn line ->
4747
line
4848
|> String.split(",")

lib/2019/day_06.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2019.Day06 do
33
--- Day 6: Universal Orbit Map ---
44
Problem Link: https://adventofcode.com/2019/day/6
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2019, 6)
99

@@ -25,7 +25,7 @@ defmodule AdventOfCode.Y2019.Day06 do
2525
end
2626

2727
def parse(data) do
28-
data |> String.split("\n") |> Enum.map(&String.split(&1, ")"))
28+
data |> Transformers.lines() |> Enum.map(&String.split(&1, ")"))
2929
end
3030

3131
defp to_graph(data, graph) do

lib/2019/day_10.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2019.Day10 do
33
--- Day 10: Monitoring Station ---
44
Problem Link: https://adventofcode.com/2019/day/10
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
@asteroid "#"
99

@@ -30,7 +30,7 @@ defmodule AdventOfCode.Y2019.Day10 do
3030

3131
def parse(data) do
3232
data
33-
|> String.split("\n")
33+
|> Transformers.lines()
3434
|> Enum.with_index()
3535
|> Enum.flat_map(fn {line, row} ->
3636
line

lib/2020/day_03.ex

+1-1
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ defmodule AdventOfCode.Y2020.Day03 do
2525

2626
def parse(input) do
2727
input
28-
|> String.split("\n", trim: true)
28+
|> Transformers.lines()
2929
|> Enum.map(&String.graphemes/1)
3030
|> then(&{Transformers.grid2d(&1), length(hd(&1)), length(&1)})
3131
end

lib/2020/day_04.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2020.Day04 do
33
--- Day 4: Passport Processing ---
44
Problem Link: https://adventofcode.com/2020/day/4
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2020, 4)
99

@@ -14,7 +14,7 @@ defmodule AdventOfCode.Y2020.Day04 do
1414

1515
def parse(data) do
1616
data
17-
|> String.split("\n")
17+
|> Transformers.lines()
1818
|> Enum.chunk_by(&(&1 == ""))
1919
|> Enum.reject(&(&1 == [""]))
2020
|> Enum.map(&as_pp/1)

lib/2020/day_06.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2020.Day06 do
33
--- Day 6: Custom Customs ---
44
Problem Link: https://adventofcode.com/2020/day/6
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2020, 6)
99

@@ -16,7 +16,7 @@ defmodule AdventOfCode.Y2020.Day06 do
1616

1717
def parse(input) do
1818
input
19-
|> String.split("\n")
19+
|> Transformers.lines(false)
2020
|> Enum.chunk_by(&(&1 == ""))
2121
|> Enum.reject(&(&1 == [""]))
2222
end

lib/2020/day_13.ex

+4-3
Original file line numberDiff line numberDiff line change
@@ -4,10 +4,11 @@ defmodule AdventOfCode.Y2020.Day13 do
44
Problem Link: https://adventofcode.com/2020/day/13
55
"""
66
alias AdventOfCode.Algorithms.ChineseRemainder
7-
alias AdventOfCode.Helpers.InputReader
7+
alias AdventOfCode.Helpers.{InputReader, Transformers}
88

99
def input, do: InputReader.read_from_file(2020, 13)
1010

11+
@spec run(binary()) :: {any(), false | nil | integer()}
1112
def run(input \\ input()) do
1213
{run_1(input), run_2(input)}
1314
end
@@ -16,7 +17,7 @@ defmodule AdventOfCode.Y2020.Day13 do
1617
def run_2(input), do: input |> parse_2() |> ChineseRemainder.compute()
1718

1819
def parse_1(input) do
19-
[time, ids] = String.split(input, "\n", trim: true)
20+
[time, ids] = Transformers.lines(input)
2021

2122
{String.to_integer(time),
2223
ids
@@ -27,7 +28,7 @@ defmodule AdventOfCode.Y2020.Day13 do
2728

2829
def parse_2(input) do
2930
input
30-
|> String.split("\n", trim: true)
31+
|> Transformers.lines()
3132
|> Enum.at(-1)
3233
|> String.split(",")
3334
|> Enum.with_index()

lib/2020/day_14.ex

+1-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@ defmodule AdventOfCode.Y2020.Day14 do
22
@moduledoc """
33
--- Day 14: Docking Data ---
44
Problem Link: https://adventofcode.com/2020/day/14
5-
5+
66
Hat-tip to Christian Blavier from ElixirForum.
77
https://github.com/cblavier/advent/tree/master/lib/2020/day14
88
"""

lib/2020/day_19.ex

+4-4
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2020.Day19 do
33
--- Day 19: Monster Messages ---
44
Problem Link: https://adventofcode.com/2020/day/19
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2020, 19)
99

@@ -14,7 +14,7 @@ defmodule AdventOfCode.Y2020.Day19 do
1414
def parse(input, loop?) do
1515
{rules, messages} =
1616
input
17-
|> String.split("\n\n")
17+
|> String.split(~r{(\r\n\r\n|\r\r|\n\n)})
1818
|> parse_paragraph()
1919
|> maybe_override(loop?)
2020

@@ -33,10 +33,10 @@ defmodule AdventOfCode.Y2020.Day19 do
3333
@overrides %{"8" => "42 +", "11" => "42 31 | 42 11 31"}
3434
defp override_8_11({rules, messages}), do: {Map.merge(rules, @overrides), messages}
3535
defp parse_paragraph([rules, messages]), do: {parse_rules(rules), parse_messages(messages)}
36-
defp parse_messages(messages), do: String.split(messages, "\n")
36+
defp parse_messages(messages), do: Transformers.lines(messages)
3737

3838
defp parse_rules(rules) do
39-
for rule <- String.split(rules, "\n"), into: %{} do
39+
for rule <- Transformers.lines(rules), into: %{} do
4040
[idx, rule] = String.split(String.replace(rule, "\"", ""), ":")
4141
{idx, String.trim(rule)}
4242
end

lib/2020/day_20.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,10 @@ defmodule AdventOfCode.Y2020.Day20 do
1212
{product(corners(input)), {:todo, 2}}
1313
end
1414

15-
def parse(input), do: input |> String.split("\n\n") |> Map.new(&parse_tiles/1)
15+
def parse(input), do: input |> String.split(~r{(\r\n\r\n|\r\r|\n\n)}) |> Map.new(&parse_tiles/1)
1616

1717
defp parse_tiles(tile) do
18-
[id | tiles] = String.split(tile, "\n")
18+
[id | tiles] = tile |> Transformers.lines()
1919
{extract_id(id), edges(Enum.map(tiles, &String.graphemes/1))}
2020
end
2121

lib/2020/day_22.ex

+4-3
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2020.Day22 do
33
--- Day 22: Crab Combat ---
44
Problem Link: https://adventofcode.com/2020/day/22
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
def input, do: InputReader.read_from_file(2020, 22)
99

@@ -12,7 +12,8 @@ defmodule AdventOfCode.Y2020.Day22 do
1212
{score(play(input)), score(play_rec(input))}
1313
end
1414

15-
def parse(deal), do: decks(Enum.map(String.split(deal, "\n\n"), &String.split(&1, ":")))
15+
def parse(deal),
16+
do: decks(Enum.map(String.split(deal, ~r{(\r\n\r\n|\r\r|\n\n)}), &String.split(&1, ":")))
1617

1718
defp score(cards) do
1819
Enum.reduce(Enum.with_index(Enum.reverse(cards), 1), 0, fn {val, idx}, score ->
@@ -21,7 +22,7 @@ defmodule AdventOfCode.Y2020.Day22 do
2122
end
2223

2324
defp decks([[_, human], [_, crab]]), do: {deck(human), deck(crab)}
24-
defp deck(p), do: Enum.map(String.split(p, "\n", trim: true), &String.to_integer/1)
25+
defp deck(p), do: Enum.map(Transformers.lines(p), &String.to_integer/1)
2526

2627
defp play({[], crab}), do: crab
2728
defp play({human, []}), do: human

lib/2020/day_24.ex

+2-2
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ defmodule AdventOfCode.Y2020.Day24 do
33
--- Day 24: Lobby Layout ---
44
Problem Link: https://adventofcode.com/2020/day/24
55
"""
6-
alias AdventOfCode.Helpers.InputReader
6+
alias AdventOfCode.Helpers.{InputReader, Transformers}
77

88
require Integer
99

@@ -23,7 +23,7 @@ defmodule AdventOfCode.Y2020.Day24 do
2323

2424
@directions ~r/e|w|se|sw|ne|nw/
2525
def parse(input) do
26-
for line <- String.split(input, "\n") do
26+
for line <- Transformers.lines(input) do
2727
@directions
2828
|> Regex.scan(line, capture: :first)
2929
|> List.flatten()

0 commit comments

Comments
 (0)