diff options
| author | Mohammad S Anwar <Mohammad.Anwar@yahoo.com> | 2020-12-27 23:22:07 +0000 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-12-27 23:22:07 +0000 |
| commit | 428703e9469cefd01ea2a4df9b5adeff0147ef6e (patch) | |
| tree | 96c8f6b75c8f67260acae37d57be6c8044cd405e /challenge-092 | |
| parent | 34ee060d46180bdf4c48fa5b399616c49e193ef5 (diff) | |
| parent | f4a233528cf371b118c08704f5a84a0c03325ecd (diff) | |
| download | perlweeklychallenge-club-428703e9469cefd01ea2a4df9b5adeff0147ef6e.tar.gz perlweeklychallenge-club-428703e9469cefd01ea2a4df9b5adeff0147ef6e.tar.bz2 perlweeklychallenge-club-428703e9469cefd01ea2a4df9b5adeff0147ef6e.zip | |
Merge pull request #3091 from juliodcs/juliodcs-week92
juliodcs-week92
Diffstat (limited to 'challenge-092')
| -rw-r--r-- | challenge-092/juliodcs/raku/ch-1.raku | 8 | ||||
| -rw-r--r-- | challenge-092/juliodcs/raku/ch-2.raku | 22 |
2 files changed, 30 insertions, 0 deletions
diff --git a/challenge-092/juliodcs/raku/ch-1.raku b/challenge-092/juliodcs/raku/ch-1.raku new file mode 100644 index 0000000000..1fea02117a --- /dev/null +++ b/challenge-092/juliodcs/raku/ch-1.raku @@ -0,0 +1,8 @@ +#! /usr/bin/env raku
+
+unit sub MAIN($a, $b);
+
+my &single = -> $string { $string.subst: /(.)$0*/, {" $0"}, :g }
+my &equal = -> $a, $b { $a eq $b.trans(single($b) => single($a)) }
+
+say +(equal($a, $b) && equal($b, $a))
diff --git a/challenge-092/juliodcs/raku/ch-2.raku b/challenge-092/juliodcs/raku/ch-2.raku new file mode 100644 index 0000000000..4e6d8417c0 --- /dev/null +++ b/challenge-092/juliodcs/raku/ch-2.raku @@ -0,0 +1,22 @@ +#! /usr/bin/env raku
+
+sub add-new(@s, $n) {
+ sort |@s, $n
+}
+
+sub merge($range1, $range2) {
+ $range1.list ∩ $range2
+ ?? min($range1.head, $range2.head) .. max($range1.tail, $range2.tail)
+ !! $range1
+}
+
+sub re-merge(@ranges) {
+ @ranges.rotor(2 => -1).map({ [∩] $_ }).grep(*.elems > 0).elems > 0
+ ?? re-merge @ranges.rotor(2 => -1).map({ merge .head, .tail })
+ !! @ranges
+}
+
+my @s = (1 .. 2, 3 .. 7, 8 .. 10);
+my $n = 5 .. 8;
+
+say re-merge add-new @s, $n;
|
