Basic structure; day 1, 2
This commit is contained in:
21
day-01/main.raku
Normal file
21
day-01/main.raku
Normal file
@@ -0,0 +1,21 @@
|
||||
use lib $*PROGRAM.parent.parent;
|
||||
use Lib;
|
||||
|
||||
grammar Solution does AOC {
|
||||
token TOP { (^^ <line> \n)+ { make ([Z] $/[0]>><line>>>.made).List; }}
|
||||
token line { <num> <.ws> <num> { make $<num>>>.made }}
|
||||
token num { \d+ { make val($/.Str) }}
|
||||
|
||||
method part1(::?CLASS:U: (@l, @r)) {
|
||||
[+] (@l.sort <<->> @r.sort)>>.abs
|
||||
}
|
||||
|
||||
method part2(::?CLASS:U: (@l, @r)) {
|
||||
my $bag = @r.Bag;
|
||||
[+] @l.map(-> $l { $l * $bag{$l} })
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
||||
Solution.main()
|
||||
Reference in New Issue
Block a user