aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-12 10:40:18 +0100
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2020-04-12 10:40:18 +0100
commita52907eb62a81a3f8c50aa55d479e2ffc897a5f7 (patch)
tree6ef50abb4dcc39adbd471f942dad202ea30f9e0d
parent2c24e19b3fed85dd0bbe15149dce2ad68492b98e (diff)
downloadperlweeklychallenge-club-a52907eb62a81a3f8c50aa55d479e2ffc897a5f7.tar.gz
perlweeklychallenge-club-a52907eb62a81a3f8c50aa55d479e2ffc897a5f7.tar.bz2
perlweeklychallenge-club-a52907eb62a81a3f8c50aa55d479e2ffc897a5f7.zip
- Added Raku solution to Wave Array task.
-rw-r--r--challenge-055/mohammad-anwar/raku/ch-2.p644
-rw-r--r--challenge-055/mohammad-anwar/raku/ch-2a.p645
-rw-r--r--stats/pwc-current.json272
-rw-r--r--stats/pwc-language-breakdown-summary.json48
-rw-r--r--stats/pwc-language-breakdown.json410
-rw-r--r--stats/pwc-leaders.json392
-rw-r--r--stats/pwc-summary-1-30.json104
-rw-r--r--stats/pwc-summary-121-150.json36
-rw-r--r--stats/pwc-summary-151-180.json58
-rw-r--r--stats/pwc-summary-31-60.json120
-rw-r--r--stats/pwc-summary-61-90.json102
-rw-r--r--stats/pwc-summary-91-120.json42
-rw-r--r--stats/pwc-summary.json360
13 files changed, 1061 insertions, 972 deletions
diff --git a/challenge-055/mohammad-anwar/raku/ch-2.p6 b/challenge-055/mohammad-anwar/raku/ch-2.p6
new file mode 100644
index 0000000000..d15c8cbf96
--- /dev/null
+++ b/challenge-055/mohammad-anwar/raku/ch-2.p6
@@ -0,0 +1,44 @@
+#!/usr/bin/env perl6
+
+use v6.c;
+
+multi sub MAIN(*@) is hidden-from-USAGE {
+ say $*USAGE;
+ say "\nERROR: Invalid array size !!!";
+}
+
+multi sub MAIN(Int :$N = 4) {
+ my @wave = fetch-wave-array($N);
+ @wave.map({ print sprintf("[%s]\n", join(",", @$_)) });
+}
+
+sub fetch-wave-array($size) {
+ die "ERROR: Invalid array size [$size]\n"
+ unless ($size ~~ /^\d+$/ && $size > 0);
+
+ my @N = (1 .. $size).permutations();
+ my @wave = ();
+ for @N -> @array {
+ push @wave, @array if is-wave(@array);
+ }
+
+ return @wave;
+}
+
+sub is-wave(@array) {
+
+ my $is-wave = 1;
+ for 1 .. @array.elems-1 -> $i {
+ ($i mod 2 == 1)
+ ??
+ (@array[$i] <= @array[$i-1])
+ !!
+ (@array[$i] >= @array[$i-1])
+ and next;
+
+ $is-wave = 0;
+ last;
+ }
+
+ return $is-wave;
+}
diff --git a/challenge-055/mohammad-anwar/raku/ch-2a.p6 b/challenge-055/mohammad-anwar/raku/ch-2a.p6
new file mode 100644
index 0000000000..2383233666
--- /dev/null
+++ b/challenge-055/mohammad-anwar/raku/ch-2a.p6
@@ -0,0 +1,45 @@
+#!/usr/bin/env perl6
+
+use Test;
+
+my $unit-tests = :{
+ 1 => [ (1,), ],
+ 2 => [ (2,1), ],
+ 3 => [ (2,1,3), (3,1,2) ],
+ 4 => [ (2,1,4,3), (3,1,4,2), (3,2,4,1), (4,1,3,2), (4,2,3,1) ]
+};
+
+for $unit-tests.keys.sort -> $size {
+ is-deeply(fetch-wave-array($size), $unit-tests{$size}, "array size $size");
+}
+
+sub fetch-wave-array($size) {
+ die "ERROR: Invalid array size [$size]\n"
+ unless ($size ~~ /^\d+$/ && $size > 0);
+
+ my @N = (1 .. $size).permutations();
+ my $wave = [];
+ for @N -> @array {
+ push @$wave, @array if is-wave(@array);
+ }
+
+ return $wave;
+}
+
+sub is-wave(@array) {
+
+ my $is-wave = 1;
+ for 1 .. @array.elems-1 -> $i {
+ ($i mod 2 == 1)
+ ??
+ (@array[$i] <= @array[$i-1])
+ !!
+ (@array[$i] >= @array[$i-1])
+ and next;
+
+ $is-wave = 0;
+ last;
+ }
+
+ return $is-wave;
+}
diff --git a/stats/pwc-current.json b/stats/pwc-current.json
index 76b2ed1ede..65c02bea0d 100644
--- a/stats/pwc-current.json
+++ b/stats/pwc-current.json
@@ -1,29 +1,132 @@
{
+ "tooltip" : {
+ "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
+ "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
+ "followPointer" : 1
+ },
+ "plotOptions" : {
+ "series" : {
+ "borderWidth" : 0,
+ "dataLabels" : {
+ "format" : "{point.y}",
+ "enabled" : 1
+ }
+ }
+ },
+ "series" : [
+ {
+ "colorByPoint" : 1,
+ "name" : "Perl Weekly Challenge - 055",
+ "data" : [
+ {
+ "drilldown" : "Andrezgz",
+ "name" : "Andrezgz",
+ "y" : 2
+ },
+ {
+ "name" : "Arne Sommer",
+ "drilldown" : "Arne Sommer",
+ "y" : 3
+ },
+ {
+ "y" : 2,
+ "name" : "Dave Jacoby",
+ "drilldown" : "Dave Jacoby"
+ },
+ {
+ "y" : 5,
+ "name" : "Javier Luque",
+ "drilldown" : "Javier Luque"
+ },
+ {
+ "y" : 1,
+ "drilldown" : "Jen Guerra",
+ "name" : "Jen Guerra"
+ },
+ {
+ "y" : 2,
+ "name" : "Lubos Kolouch",
+ "drilldown" : "Lubos Kolouch"
+ },
+ {
+ "drilldown" : "Luca Ferrari",
+ "name" : "Luca Ferrari",
+ "y" : 4
+ },
+ {
+ "name" : "Mark Anderson",
+ "drilldown" : "Mark Anderson",
+ "y" : 2
+ },
+ {
+ "y" : 4,
+ "drilldown" : "Mohammad S Anwar",
+ "name" : "Mohammad S Anwar"
+ },
+ {
+ "name" : "Roger Bell West",
+ "drilldown" : "Roger Bell West",
+ "y" : 3
+ },
+ {
+ "drilldown" : "Saif Ahmed",
+ "name" : "Saif Ahmed",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Simon Proctor",
+ "name" : "Simon Proctor"
+ },
+ {
+ "drilldown" : "Ulrich Rieke",
+ "name" : "Ulrich Rieke",
+ "y" : 3
+ },
+ {
+ "drilldown" : "Wanderdoc",
+ "name" : "Wanderdoc",
+ "y" : 2
+ },
+ {
+ "y" : 2,
+ "drilldown" : "Yet Ebreo",
+ "name" : "Yet Ebreo"
+ }
+ ]
+ }
+ ],
+ "subtitle" : {
+ "text" : "[Champions: 15] Last updated at 2020-04-12 09:40:03 GMT"
+ },
+ "legend" : {
+ "enabled" : 0
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge - 055"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
"xAxis" : {
"type" : "category"
},
"chart" : {
"type" : "column"
},
- "subtitle" : {
- "text" : "[Champions: 15] Last updated at 2020-04-12 07:49:33 GMT"
- },
- "tooltip" : {
- "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>",
- "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>",
- "followPointer" : 1
- },
"drilldown" : {
"series" : [
{
- "id" : "Andrezgz",
- "name" : "Andrezgz",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Andrezgz",
+ "name" : "Andrezgz"
},
{
"id" : "Arne Sommer",
@@ -51,7 +154,6 @@
},
{
"id" : "Javier Luque",
- "name" : "Javier Luque",
"data" : [
[
"Perl",
@@ -65,27 +167,28 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Javier Luque"
},
{
- "id" : "Jen Guerra",
- "name" : "Jen Guerra",
"data" : [
[
"Perl",
1
]
- ]
+ ],
+ "id" : "Jen Guerra",
+ "name" : "Jen Guerra"
},
{
- "name" : "Lubos Kolouch",
"data" : [
[
"Perl",
2
]
],
- "id" : "Lubos Kolouch"
+ "id" : "Lubos Kolouch",
+ "name" : "Lubos Kolouch"
},
{
"data" : [
@@ -98,20 +201,21 @@
2
]
],
- "name" : "Luca Ferrari",
- "id" : "Luca Ferrari"
+ "id" : "Luca Ferrari",
+ "name" : "Luca Ferrari"
},
{
"name" : "Mark Anderson",
+ "id" : "Mark Anderson",
"data" : [
[
"Raku",
2
]
- ],
- "id" : "Mark Anderson"
+ ]
},
{
+ "name" : "Mohammad S Anwar",
"id" : "Mohammad S Anwar",
"data" : [
[
@@ -120,12 +224,12 @@
],
[
"Raku",
- 1
+ 2
]
- ],
- "name" : "Mohammad S Anwar"
+ ]
},
{
+ "id" : "Roger Bell West",
"data" : [
[
"Perl",
@@ -136,12 +240,11 @@
1
]
],
- "name" : "Roger Bell West",
- "id" : "Roger Bell West"
+ "name" : "Roger Bell West"
},
{
- "id" : "Saif Ahmed",
"name" : "Saif Ahmed",
+ "id" : "Saif Ahmed",
"data" : [
[
"Perl",
@@ -150,13 +253,13 @@
]
},
{
+ "name" : "Simon Proctor",
"data" : [
[
"Raku",
2
]
],
- "name" : "Simon Proctor",
"id" : "Simon Proctor"
},
{
@@ -174,18 +277,18 @@
"id" : "Ulrich Rieke"
},
{
- "id" : "Wanderdoc",
- "name" : "Wanderdoc",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Wanderdoc",
+ "name" : "Wanderdoc"
},
{
- "id" : "Yet Ebreo",
"name" : "Yet Ebreo",
+ "id" : "Yet Ebreo",
"data" : [
[
"Perl",
@@ -194,108 +297,5 @@
]
}
]
- },
- "legend" : {
- "enabled" : 0
- },
- "plotOptions" : {
- "series" : {
- "borderWidth" : 0,
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- }
- }
- },
- "title" : {
- "text" : "Perl Weekly Challenge - 055"
- },
- "series" : [
- {
- "colorByPoint" : 1,
- "data" : [
- {
- "name" : "Andrezgz",
- "drilldown" : "Andrezgz",
- "y" : 2
- },
- {
- "name" : "Arne Sommer",
- "y" : 3,
- "drilldown" : "Arne Sommer"
- },
- {
- "drilldown" : "Dave Jacoby",
- "y" : 2,
- "name" : "Dave Jacoby"
- },
- {
- "y" : 5,
- "drilldown" : "Javier Luque",
- "name" : "Javier Luque"
- },
- {
- "drilldown" : "Jen Guerra",
- "y" : 1,
- "name" : "Jen Guerra"
- },
- {
- "name" : "Lubos Kolouch",
- "drilldown" : "Lubos Kolouch",
- "y" : 2
- },
- {
- "name" : "Luca Ferrari",
- "y" : 4,
- "drilldown" : "Luca Ferrari"
- },
- {
- "name" : "Mark Anderson",
- "drilldown" : "Mark Anderson",
- "y" : 2
- },
- {
- "name" : "Mohammad S Anwar",
- "y" : 3,
- "drilldown" : "Mohammad S Anwar"
- },
- {
- "name" : "Roger Bell West",
- "y" : 3,
- "drilldown" : "Roger Bell West"
- },
- {
- "y" : 2,
- "drilldown" : "Saif Ahmed",
- "name" : "Saif Ahmed"
- },
- {
- "name" : "Simon Proctor",
- "drilldown" : "Simon Proctor",
- "y" : 2
- },
- {
- "y" : 3,
- "drilldown" : "Ulrich Rieke",
- "name" : "Ulrich Rieke"
- },
- {
- "y" : 2,
- "drilldown" : "Wanderdoc",
- "name" : "Wanderdoc"
- },
- {
- "y" : 2,
- "drilldown" : "Yet Ebreo",
- "name" : "Yet Ebreo"
- }
- ],
- "name" : "Perl Weekly Challenge - 055"
- }
- ],
- "yAxis" : {
- "title" : {
- "text" : "Total Solutions"
- }
}
}
diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json
index 5a8181e32f..4cb268339b 100644
--- a/stats/pwc-language-breakdown-summary.json
+++ b/stats/pwc-language-breakdown-summary.json
@@ -1,43 +1,46 @@
{
- "tooltip" : {
- "pointFormat" : "<b>{point.y:.0f}</b>"
- },
- "subtitle" : {
- "text" : "Last updated at 2020-04-12 07:49:33 GMT"
- },
"xAxis" : {
"type" : "category",
"labels" : {
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
}
}
},
- "chart" : {
- "type" : "column"
- },
"yAxis" : {
- "min" : 0,
"title" : {
"text" : null
- }
+ },
+ "min" : 0
+ },
+ "title" : {
+ "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
+ },
+ "chart" : {
+ "type" : "column"
+ },
+ "tooltip" : {
+ "pointFormat" : "<b>{point.y:.0f}</b>"
+ },
+ "subtitle" : {
+ "text" : "Last updated at 2020-04-12 09:40:03 GMT"
},
"series" : [
{
- "name" : "Contributions",
"dataLabels" : {
"style" : {
- "fontFamily" : "Verdana, sans-serif",
- "fontSize" : "13px"
+ "fontSize" : "13px",
+ "fontFamily" : "Verdana, sans-serif"
},
+ "rotation" : -90,
+ "enabled" : "true",
+ "y" : 10,
"align" : "right",
- "format" : "{point.y:.0f}",
"color" : "#FFFFFF",
- "enabled" : "true",
- "rotation" : -90,
- "y" : 10
+ "format" : "{point.y:.0f}"
},
+ "name" : "Contributions",
"data" : [
[
"Blog",
@@ -49,14 +52,11 @@
],
[
"Raku",
- 1447
+ 1448
]
]
}
],
- "title" : {
- "text" : "Perl Weekly Challenge Contributions [2019 - 2020]"
- },
"legend" : {
"enabled" : "false"
}
diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json
index d1668edfea..c6321b0359 100644
--- a/stats/pwc-language-breakdown.json
+++ b/stats/pwc-language-breakdown.json
@@ -2,12 +2,22 @@
"xAxis" : {
"type" : "category"
},
+ "title" : {
+ "text" : "Perl Weekly Challenge Language"
+ },
+ "yAxis" : {
+ "title" : {
+ "text" : "Total Solutions"
+ }
+ },
"chart" : {
"type" : "column"
},
"drilldown" : {
"series" : [
{
+ "name" : "001",
+ "id" : "001",
"data" : [
[
"Perl",
@@ -21,11 +31,11 @@
"Blog",
11
]
- ],
- "name" : "001",
- "id" : "001"
+ ]
},
{
+ "name" : "002",
+ "id" : "002",
"data" : [
[
"Perl",
@@ -39,9 +49,7 @@
"Blog",
10
]
- ],
- "name" : "002",
- "id" : "002"
+ ]
},
{
"id" : "003",
@@ -62,8 +70,6 @@
"name" : "003"
},
{
- "id" : "004",
- "name" : "004",
"data" : [
[
"Perl",
@@ -77,7 +83,9 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "004",
+ "name" : "004"
},
{
"id" : "005",
@@ -98,7 +106,6 @@
"name" : "005"
},
{
- "id" : "006",
"name" : "006",
"data" : [
[
@@ -113,10 +120,10 @@
"Blog",
7
]
- ]
+ ],
+ "id" : "006"
},
{
- "name" : "007",
"data" : [
[
"Perl",
@@ -131,9 +138,11 @@
10
]
],
- "id" : "007"
+ "id" : "007",
+ "name" : "007"
},
{
+ "name" : "008",
"id" : "008",
"data" : [
[
@@ -148,11 +157,9 @@
"Blog",
12
]
- ],
- "name" : "008"
+ ]
},
{
- "id" : "009",
"name" : "009",
"data" : [
[
@@ -167,10 +174,11 @@
"Blog",
13
]
- ]
+ ],
+ "id" : "009"
},
{
- "id" : "010",
+ "name" : "010",
"data" : [
[
"Perl",
@@ -185,10 +193,9 @@
11
]
],
- "name" : "010"
+ "id" : "010"
},
{
- "name" : "011",
"data" : [
[
"Perl",
@@ -203,11 +210,11 @@
10
]
],
- "id" : "011"
+ "id" : "011",
+ "name" : "011"
},
{
"id" : "012",
- "name" : "012",
"data" : [
[
"Perl",
@@ -221,10 +228,12 @@
"Blog",
11
]
- ]
+ ],
+ "name" : "012"
},
{
"name" : "013",
+ "id" : "013",
"data" : [
[
"Perl",
@@ -238,11 +247,9 @@
"Blog",
13
]
- ],
- "id" : "013"
+ ]
},
{
- "id" : "014",
"name" : "014",
"data" : [
[
@@ -257,10 +264,11 @@
"Blog",
15
]
- ]
+ ],
+ "id" : "014"
},
{
- "name" : "015",
+ "id" : "015",
"data" : [
[
"Perl",
@@ -275,10 +283,9 @@
15
]
],
- "id" : "015"
+ "name" : "015"
},
{
- "id" : "016",
"name" : "016",
"data" : [
[
@@ -293,7 +300,8 @@
"Blog",
12
]
- ]
+ ],
+ "id" : "016"
},
{
"name" : "017",
@@ -332,6 +340,8 @@
"name" : "018"
},
{
+ "name" : "019",
+ "id" : "019",
"data" : [
[
"Perl",
@@ -345,13 +355,10 @@
"Blog",
13
]
- ],
- "name" : "019",
- "id" : "019"
+ ]
},
{
"id" : "020",
- "name" : "020",
"data" : [
[
"Perl",
@@ -365,7 +372,8 @@
"Blog",
13
]
- ]
+ ],
+ "name" : "020"
},
{
"name" : "021",
@@ -386,7 +394,7 @@
"id" : "021"
},
{
- "id" : "022",
+ "name" : "022",
"data" : [
[
"Perl",
@@ -401,10 +409,9 @@
10
]
],
- "name" : "022"
+ "id" : "022"
},
{
- "name" : "023",
"data" : [
[
"Perl",
@@ -419,11 +426,10 @@
12
]
],
- "id" : "023"
+ "id" : "023",
+ "name" : "023"
},
{
- "id" : "024",
- "name" : "024",
"data" : [
[
"Perl",
@@ -437,10 +443,11 @@
"Blog",
11
]
- ]
+ ],
+ "id" : "024",
+ "name" : "024"
},
{
- "id" : "025",
"data" : [
[
"Perl",
@@ -455,9 +462,11 @@
12
]
],
+ "id" : "025",
"name" : "025"
},
{
+ "id" : "026",
"data" : [
[
"Perl",
@@ -472,10 +481,10 @@
10
]
],
- "name" : "026",
- "id" : "026"
+ "name" : "026"
},
{
+ "id" : "027",
"data" : [
[
"Perl",
@@ -490,10 +499,11 @@
9
]
],
- "name" : "027",
- "id" : "027"
+ "name" : "027"
},
{
+ "name" : "028",
+ "id" : "028",
"data" : [
[
"Perl",
@@ -507,12 +517,10 @@
"Blog",
9
]
- ],
- "name" : "028",
- "id" : "028"
+ ]
},
{
- "id" : "029",
+ "name" : "029",
"data" : [
[
"Perl",
@@ -527,11 +535,10 @@
12
]
],
- "name" : "029"
+ "id" : "029"
},
{
"id" : "030",
- "name" : "030",
"data" : [
[
"Perl",
@@ -545,11 +552,12 @@
"Blog",
10
]
- ]
+ ],
+ "name" : "030"
},
{
- "id" : "031",
"name" : "031",
+ "id" : "031",
"data" : [
[
"Perl",
@@ -566,8 +574,6 @@
]
},
{
- "id" : "032",
- "name" : "032",
"data" : [
[
"Perl",
@@ -581,10 +587,11 @@
"Blog",
10
]
- ]
+ ],
+ "id" : "032",
+ "name" : "032"
},
{
- "name" : "033",
"data" : [
[
"Perl",
@@ -599,7 +606,8 @@
10
]
],
- "id" : "033"
+ "id" : "033",
+ "name" : "033"
},
{
"name" : "034",
@@ -620,7 +628,7 @@
"id" : "034"
},
{
- "id" : "035",
+ "name" : "035",
"data" : [
[
"Perl",
@@ -635,11 +643,11 @@
9
]
],
- "name" : "035"
+ "id" : "035"
},
{
- "id" : "036",
"name" : "036",
+ "id" : "036",
"data" : [
[
"Perl",
@@ -656,7 +664,7 @@
]
},
{
- "name" : "037",
+ "id" : "037",
"data" : [
[
"Perl",
@@ -671,7 +679,7 @@
9
]
],
- "id" : "037"
+ "name" : "037"
},
{
"data" : [
@@ -688,8 +696,8 @@
12
]
],
- "name" : "038",
- "id" : "038"
+ "id" : "038",
+ "name" : "038"
},
{
"data" : [
@@ -706,10 +714,11 @@
12
]
],
- "name" : "039",
- "id" : "039"
+ "id" : "039",
+ "name" : "039"
},
{
+ "id" : "040",
"data" : [
[
"Perl",
@@ -724,11 +733,10 @@
10
]
],
- "name" : "040",
- "id" : "040"
+ "name" : "040"
},
{
- "name" : "041",
+ "id" : "041",
"data" : [
[
"Perl",
@@ -743,7 +751,7 @@
9
]
],
- "id" : "041"
+ "name" : "041"
},
{
"id" : "042",
@@ -764,7 +772,7 @@
"name" : "042"
},
{
- "id" : "043",
+ "name" : "043",
"data" : [
[
"Perl",
@@ -779,9 +787,10 @@
10
]
],
- "name" : "043"
+ "id" : "043"
},
{
+ "name" : "044",
"data" : [
[
"Perl",
@@ -796,7 +805,6 @@
10
]
],
- "name" : "044",
"id" : "044"
},
{
@@ -818,7 +826,7 @@
"name" : "045"
},
{
- "name" : "046",
+ "id" : "046",
"data" : [
[
"Perl",
@@ -833,9 +841,10 @@
10
]
],
- "id" : "046"
+ "name" : "046"
},
{
+ "name" : "047",
"data" : [
[
"Perl",
@@ -850,11 +859,9 @@
10
]
],
- "name" : "047",
"id" : "047"
},
{
- "id" : "048",
"data" : [
[
"Perl",
@@ -869,11 +876,10 @@
12
]
],
+ "id" : "048",