From f0138f708a4aaba123bfb243673e53363f67346c Mon Sep 17 00:00:00 2001 From: Guillaume Dott Date: Sat, 21 Dec 2019 11:15:17 +0100 Subject: [PATCH] feat: add code for day 3 part 2 --- 3/input | 4 ++++ 3/script.rb | 13 ++++++++++--- 2 files changed, 14 insertions(+), 3 deletions(-) diff --git a/3/input b/3/input index 32bb7d7..b63d23b 100644 --- a/3/input +++ b/3/input @@ -2,3 +2,7 @@ R995,D882,R144,U180,L638,U282,L907,D326,R731,D117,R323,U529,R330,U252,R73,U173,R L999,D22,L292,U843,R390,U678,R688,D492,L489,U488,R305,U951,L636,U725,R402,U84,L676,U171,L874,D201,R64,D743,R372,U519,R221,U986,L393,D793,R72,D184,L553,D137,L187,U487,L757,U880,L535,U887,R481,U236,L382,D195,L388,D90,R125,U414,R512,D382,R972,U935,L172,D1,R957,U593,L151,D158,R396,D42,L30,D178,R947,U977,R67,D406,R744,D64,L677,U23,R792,U864,R259,U315,R314,U17,L37,D658,L642,U135,R624,U601,L417,D949,R203,D122,R76,D493,L569,U274,L330,U933,R815,D30,L630,D43,R86,U926,L661,D491,L541,D96,R868,D565,R664,D935,L336,D152,R63,U110,L782,U14,R172,D945,L732,D870,R404,U767,L907,D558,R748,U591,R461,D153,L635,D457,R241,U478,L237,U218,R393,U468,L182,D745,L388,D360,L222,D642,L151,U560,R437,D326,R852,U525,R717,U929,L470,U621,R421,U408,L540,D176,L69,U753,L200,U251,R742,U628,R534,U542,R85,D71,R283,U905,L418,D755,L593,U335,L114,D684,L576,D645,R652,D49,R86,D991,L838,D309,L73,U847,L418,U675,R991,U463,R314,D618,L433,U173,R869,D115,L18,U233,R541,U516,L570,U340,R264,D442,L259,U276,R433,D348,R524,D353,R336,D883,R580,U157,R79,D27,L134,D161,L748,D278,R322,D581,R654,D156,L930,D293,L156,U311,R807,D618,R408,U719,R366,D632,R307,D565,R478,D620,R988,D821,R365,D581,L946,D138,L943,U69,R620,U208,L407,U188,L122,U353,L751,U565,R849,D874,R668,D794,L140,D474,R289,D773,R344,D220,L55,D385,L394,U208,R305,U736,L896,D376,R331,D855,L466,U516,L741,U124,L825,U467,L525,D911,R76,U220,L610,U102,L261,D891,L585,U397,L152,U753,R822,D252,R106,U145,L7,U524,R343,U352,L357,D399,L446,D140,L723,U46,R687,D409,R884 #R8,U5,L5,D3 #U7,R6,D4,L4 +# R75,D30,R83,U83,L12,D49,R71,U7,L72 +# U62,R66,U55,R34,D71,R55,D58,R83 +# R98,U47,R26,D63,R33,U87,L62,D20,R33,U53,R51 +# U98,R91,D20,R16,D67,R40,U7,R15,U6,R7 diff --git a/3/script.rb b/3/script.rb index f8bc923..ccacfcb 100755 --- a/3/script.rb +++ b/3/script.rb @@ -33,10 +33,17 @@ class Path end end -def part1 - path1, path2 = Input.new(__dir__).readlines.map { |line| Path.new(line).coordinates } +def part1(path1, path2) (path1 & path2).map { |coordinates| coordinates.map(&:abs).sum }.min end +def part2(path1, path2) + (path1 & path2).map { |coordinates| path1.index(coordinates) + path2.index(coordinates) + 2 }.min +end + +path1, path2 = Input.new(__dir__).readlines.map { |line| Path.new(line).coordinates } + puts "=== Part 1 ===" -puts part1 +puts part1(path1, path2) +puts "=== Part 2 ===" +puts part2(path1, path2)