Day 1 complete
This commit is contained in:
commit
c103fe2f82
21
2019/1.moon
Normal file
21
2019/1.moon
Normal file
|
@ -0,0 +1,21 @@
|
|||
-- https://adventofcode.com/2019/day/1
|
||||
|
||||
require "common"
|
||||
|
||||
input = input_for_day 1
|
||||
|
||||
-- part 1
|
||||
|
||||
nums = -> input\gmatch "%d+"
|
||||
mass_to_fuel = => -2 + math.floor @ / 3
|
||||
|
||||
print "Part 1:", reduce nums!, 0, (n) => @ + mass_to_fuel n
|
||||
|
||||
-- part 2
|
||||
|
||||
fuel_for_fuel = =>
|
||||
f = mass_to_fuel @
|
||||
print "fff:", f
|
||||
if f < 1 then return 0 else return f + fuel_for_fuel f
|
||||
|
||||
print "Part 2:", reduce nums!, 0, (n) => @ + fuel_for_fuel(n)
|
16
2019/common.moon
Normal file
16
2019/common.moon
Normal file
|
@ -0,0 +1,16 @@
|
|||
export input_for_day, reduce
|
||||
|
||||
read_whole_file = =>
|
||||
f = assert io.open @, "rb"
|
||||
content = f\read "*all"
|
||||
f\close()
|
||||
content
|
||||
|
||||
input_for_day = =>
|
||||
read_whole_file "input/#{@}.txt"
|
||||
|
||||
reduce = (iterable, initial, f) ->
|
||||
acc = initial
|
||||
for e in iterable
|
||||
acc = f acc, e
|
||||
acc
|
100
2019/input/1.txt
Normal file
100
2019/input/1.txt
Normal file
|
@ -0,0 +1,100 @@
|
|||
130762
|
||||
108691
|
||||
131618
|
||||
138163
|
||||
59967
|
||||
130453
|
||||
117515
|
||||
115776
|
||||
134083
|
||||
86966
|
||||
128075
|
||||
55569
|
||||
112843
|
||||
97878
|
||||
92330
|
||||
70917
|
||||
143903
|
||||
81171
|
||||
148506
|
||||
141379
|
||||
131161
|
||||
88719
|
||||
69654
|
||||
82141
|
||||
55265
|
||||
75623
|
||||
97408
|
||||
105269
|
||||
147378
|
||||
126054
|
||||
133962
|
||||
60304
|
||||
130503
|
||||
138350
|
||||
93164
|
||||
69661
|
||||
69271
|
||||
100054
|
||||
138295
|
||||
142865
|
||||
64142
|
||||
123466
|
||||
80101
|
||||
149696
|
||||
102510
|
||||
129988
|
||||
87742
|
||||
106785
|
||||
133039
|
||||
59192
|
||||
86544
|
||||
124950
|
||||
64242
|
||||
80128
|
||||
109287
|
||||
129634
|
||||
140335
|
||||
118220
|
||||
106819
|
||||
97296
|
||||
111003
|
||||
103222
|
||||
54192
|
||||
103548
|
||||
63861
|
||||
140571
|
||||
50476
|
||||
100570
|
||||
114065
|
||||
110279
|
||||
64720
|
||||
91941
|
||||
62312
|
||||
80834
|
||||
132969
|
||||
51973
|
||||
115887
|
||||
68662
|
||||
138266
|
||||
107234
|
||||
75795
|
||||
81409
|
||||
78610
|
||||
112587
|
||||
92384
|
||||
111804
|
||||
138861
|
||||
79393
|
||||
81285
|
||||
131307
|
||||
68815
|
||||
54976
|
||||
127529
|
||||
103359
|
||||
138537
|
||||
79663
|
||||
128097
|
||||
56085
|
||||
96504
|
||||
119501
|
Loading…
Reference in a new issue