aboutsummaryrefslogtreecommitdiffstats
path: root/AoC2022/03/solver.jl
diff options
context:
space:
mode:
authorOscar Najera <hi@oscarnajera.com>2023-01-26 22:09:57 +0100
committerOscar Najera <hi@oscarnajera.com>2023-01-26 22:09:57 +0100
commitc7f01066164817bbf624f2e7a63c6ac0aeea5f61 (patch)
tree8dec4fd44655094ae59ca101672e9ee3ed339f7b /AoC2022/03/solver.jl
parent31aa0839953395f5998c7ec4350760cfebae6506 (diff)
downloadscratch-c7f01066164817bbf624f2e7a63c6ac0aeea5f61.tar.gz
scratch-c7f01066164817bbf624f2e7a63c6ac0aeea5f61.tar.bz2
scratch-c7f01066164817bbf624f2e7a63c6ac0aeea5f61.zip
Learning some julia
Diffstat (limited to 'AoC2022/03/solver.jl')
-rw-r--r--AoC2022/03/solver.jl12
1 files changed, 12 insertions, 0 deletions
diff --git a/AoC2022/03/solver.jl b/AoC2022/03/solver.jl
new file mode 100644
index 0000000..1ebadbf
--- /dev/null
+++ b/AoC2022/03/solver.jl
@@ -0,0 +1,12 @@
+using Test
+
+data = open("input") do f
+ split(read(f, String))
+end
+
+priority(x) = islowercase(x) ? x - 'a' + 1 : x - 'A' +27
+
+@testset "solutions" begin
+ @test map(s-> intersect(s[1:length(s)÷2], s[length(s)÷2+1:end])[1] |> priority, data) |> sum == 8072
+ @test [intersect(data[i:i+2]...)[1] for i ∈ 1:3:length(data)] .|> priority |> sum == 2567
+end