Day 1
This commit is contained in:
parent
505575cb65
commit
d759558940
|
@ -0,0 +1,35 @@
|
|||
defmodule Day1 do
|
||||
def part1 do
|
||||
File.read!("lib/day1/input.txt")
|
||||
|> String.split("\n")
|
||||
|> Enum.reject(&(&1 == ""))
|
||||
|> Enum.map(fn line ->
|
||||
{module, _} = Integer.parse(line)
|
||||
fuel_for(module)
|
||||
end)
|
||||
|> Enum.sum()
|
||||
end
|
||||
|
||||
def part2 do
|
||||
File.read!("lib/day1/input.txt")
|
||||
|> String.split("\n")
|
||||
|> Enum.reject(&(&1 == ""))
|
||||
|> Enum.map(fn line ->
|
||||
{module, _} = Integer.parse(line)
|
||||
total_fuel(module)
|
||||
end)
|
||||
|> Enum.sum()
|
||||
end
|
||||
|
||||
def total_fuel(mass \\ part1())
|
||||
def total_fuel(mass) when mass <= 0, do: mass
|
||||
|
||||
def total_fuel(mass) do
|
||||
fuel_mass = fuel_for(mass)
|
||||
fuel_mass + total_fuel(fuel_mass)
|
||||
end
|
||||
|
||||
def fuel_for(mass) do
|
||||
max(Integer.floor_div(mass, 3) - 2, 0)
|
||||
end
|
||||
end
|
|
@ -0,0 +1,100 @@
|
|||
89122
|
||||
141123
|
||||
91549
|
||||
66506
|
||||
53504
|
||||
56517
|
||||
77050
|
||||
92298
|
||||
84853
|
||||
141828
|
||||
86739
|
||||
126125
|
||||
82793
|
||||
113761
|
||||
68961
|
||||
132576
|
||||
61718
|
||||
64498
|
||||
110415
|
||||
134867
|
||||
102449
|
||||
107364
|
||||
88491
|
||||
120584
|
||||
52192
|
||||
130494
|
||||
121583
|
||||
132166
|
||||
111339
|
||||
68715
|
||||
104966
|
||||
117227
|
||||
58921
|
||||
83909
|
||||
70626
|
||||
141637
|
||||
95127
|
||||
72029
|
||||
136121
|
||||
136915
|
||||
74312
|
||||
54863
|
||||
53547
|
||||
149493
|
||||
78528
|
||||
132289
|
||||
148754
|
||||
133905
|
||||
135357
|
||||
58483
|
||||
62214
|
||||
124684
|
||||
118590
|
||||
107087
|
||||
95768
|
||||
86835
|
||||
122277
|
||||
126183
|
||||
108546
|
||||
75212
|
||||
62280
|
||||
76039
|
||||
135743
|
||||
86133
|
||||
111613
|
||||
139477
|
||||
65930
|
||||
106225
|
||||
101531
|
||||
96501
|
||||
66844
|
||||
114158
|
||||
137091
|
||||
138143
|
||||
102083
|
||||
69857
|
||||
59372
|
||||
137605
|
||||
108135
|
||||
96365
|
||||
94851
|
||||
104414
|
||||
74194
|
||||
74188
|
||||
131888
|
||||
75910
|
||||
78279
|
||||
93285
|
||||
53597
|
||||
82705
|
||||
119360
|
||||
149274
|
||||
92510
|
||||
95490
|
||||
54087
|
||||
97695
|
||||
94753
|
||||
80493
|
||||
101173
|
||||
51906
|
Loading…
Reference in New Issue