aboutsummaryrefslogtreecommitdiff
path: root/challenge-074
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2020-08-23 09:19:20 +0100
committerGitHub <noreply@github.com>2020-08-23 09:19:20 +0100
commiteba563a887aeef17bb87e33a576b92779b31916f (patch)
tree0072ba4d564653501d781d671c53fbb622d34e87 /challenge-074
parent4601f226c6f941e12d967db9e3940d88f9cd8c0e (diff)
parent28495875d70cf8cab1bd9b34d7880ea308e480ec (diff)
downloadperlweeklychallenge-club-eba563a887aeef17bb87e33a576b92779b31916f.tar.gz
perlweeklychallenge-club-eba563a887aeef17bb87e33a576b92779b31916f.tar.bz2
perlweeklychallenge-club-eba563a887aeef17bb87e33a576b92779b31916f.zip
Merge pull request #2121 from wambash/challange-week-074
solution week 074
Diffstat (limited to 'challenge-074')
-rw-r--r--challenge-074/wambash/raku/ch-1.raku14
-rw-r--r--challenge-074/wambash/raku/ch-2.raku17
2 files changed, 31 insertions, 0 deletions
diff --git a/challenge-074/wambash/raku/ch-1.raku b/challenge-074/wambash/raku/ch-1.raku
new file mode 100644
index 0000000000..4b4a1ec2a2
--- /dev/null
+++ b/challenge-074/wambash/raku/ch-1.raku
@@ -0,0 +1,14 @@
+use v6;
+
+sub majority-element (+@a) {
+ @a.Bag
+ andthen \(total => .total, max-element => .max: *.value)
+ andthen .<total> - .<max-element>.value < .<max-element>.value ?? .<max-element>.key !! -1
+}
+
+sub MAIN (:$test) {
+ use Test;
+ is majority-element(1, 2, 2, 3, 2, 4, 2), 2;
+ is majority-element(1, 3, 1, 2, 4, 5), -1;
+ done-testing();
+}
diff --git a/challenge-074/wambash/raku/ch-2.raku b/challenge-074/wambash/raku/ch-2.raku
new file mode 100644
index 0000000000..55fc320f00
--- /dev/null
+++ b/challenge-074/wambash/raku/ch-2.raku
@@ -0,0 +1,17 @@
+use v6;
+
+sub infix:<FNR> (+@a) is assoc<list> {
+ @a.first: * ∉ @a.repeated, :end orelse '#'
+}
+
+sub FNR-charakter ( $s ) {
+ [~] [\FNR] $s.comb
+}
+
+sub MAIN ( :$test ) {
+ use Test;
+ is 'a' FNR 'b' FNR 'c' FNR 'a', 'c';
+ is FNR-charakter('ababc'), ‘abb#c’;
+ is FNR-charakter('xyzzyx'), ‘xyzyx#’;
+ done-testing();
+}