advent of code challenges

master
Jason Staten 5 years ago
parent 72c182f0a1
commit 6fcdf67ba6

@ -0,0 +1,35 @@
-module(aoc01).
-export([calculate_module/1, fuel/2, run/0, run2/0]).
all_lines(Path) ->
{ok, Fd} = file:open(Path, read),
Lines = all_lines(Fd, []),
file:close(Fd),
lists:reverse(Lines).
all_lines(Fd, Lines) ->
case file:read_line(Fd) of
{ok, Line} ->
all_lines(Fd, [string:chomp(Line) | Lines]);
eof -> Lines
end.
calculate_module(Mass) -> math:floor(Mass / 3) - 2.
fuel(Mass, Total) when Mass =< 6 -> Total;
fuel(Mass, Total) ->
Fuel = math:floor(Mass / 3) - 2,
fuel(Fuel, Total + Fuel).
run() ->
Lines = all_lines("aoc01.txt"),
FuelQuantities = [calculate_module(list_to_integer(X))
|| X <- Lines],
lists:sum(FuelQuantities).
run2() ->
Lines = all_lines("aoc01.txt"),
FuelQuantities = [fuel(list_to_integer(X), 0)
|| X <- Lines],
lists:sum(FuelQuantities).

@ -0,0 +1,100 @@
103842
72629
121232
120959
94285
85852
78876
93545
136775
111893
112863
61947
52671
122769
90995
106037
106618
144212
125766
56163
125865
87828
117596
118778
131537
131498
81583
111443
139184
101980
114117
76003
99157
93721
106494
66654
73954
85815
139358
78163
144753
58928
137799
75580
115861
131718
145985
61232
139664
123931
101512
107532
119323
54937
82412
149218
98531
122318
138890
59125
111176
97205
52214
84531
115983
69976
125186
142852
66808
81689
62885
126094
86092
59981
54868
142381
92384
121232
96994
93489
141201
108497
64092
101991
137907
63230
55724
126888
70665
111235
123493
148071
147590
113936
57270
127204
144599
56041
62105
124342
Loading…
Cancel
Save