]> www.fi.muni.cz Git - aoc.git/commitdiff
2023 day 1: spelling errors
authorJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 1 Dec 2023 06:03:46 +0000 (07:03 +0100)
committerJan "Yenya" Kasprzak <kas@fi.muni.cz>
Fri, 1 Dec 2023 06:03:46 +0000 (07:03 +0100)
2023/01.pl [new file with mode: 0755]
2023/02.pl [new file with mode: 0755]

diff --git a/2023/01.pl b/2023/01.pl
new file mode 100755 (executable)
index 0000000..fed7feb
--- /dev/null
@@ -0,0 +1,16 @@
+#!/usr/bin/perl -w
+
+use v5.38;
+use strict;
+use experimental 'multidimensional', 'for_list', 'builtin';
+
+my $sum;
+
+while (<>) {
+       my ($first) = /(\d)/;
+       my ($last) = /.*(\d)/;
+       $sum += "$first$last";
+       # say "$first $last.";
+}
+
+say $sum;
diff --git a/2023/02.pl b/2023/02.pl
new file mode 100755 (executable)
index 0000000..56e0c26
--- /dev/null
@@ -0,0 +1,30 @@
+#!/usr/bin/perl -w
+
+use v5.38;
+use strict;
+use experimental 'multidimensional', 'for_list', 'builtin';
+
+my $sum;
+
+my %map = (
+       one   => 1,
+       two   => 2,
+       three => 3,
+       four  => 4,
+       five  => 5,
+       six   => 6,
+       seven => 7,
+       eight => 8,
+       nine  => 9,
+);
+
+while (<>) {
+       my ($first) = /(\d|one|two|three|four|five|six|seven|eight|nine)/;
+       my ($last)  = /(?:.*)(\d|one|two|three|four|five|six|seven|eight|nine)/;
+       $first = $map{$first} if exists $map{$first};
+       $last =  $map{$last}  if exists $map{$last};
+       $sum += "$first$last";
+       # say "$_ $first $last.";
+}
+
+say $sum;