diff options
| author | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2024-10-27 23:10:21 +0000 |
|---|---|---|
| committer | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2024-10-27 23:10:21 +0000 |
| commit | 4e0099c8cc83599381e7b29ae44e6fdb76e72265 (patch) | |
| tree | a2900b78f1532afd9e863bc712c3cce0ec83cee6 | |
| parent | 91371b2c3acc14b6415765b7aadd089f366e492c (diff) | |
| download | perlweeklychallenge-club-4e0099c8cc83599381e7b29ae44e6fdb76e72265.tar.gz perlweeklychallenge-club-4e0099c8cc83599381e7b29ae44e6fdb76e72265.tar.bz2 perlweeklychallenge-club-4e0099c8cc83599381e7b29ae44e6fdb76e72265.zip | |
- Added blog post by Roger Bell_West.
- Added solutions by Wanderdoc.
- Added solutions by Athanasius.
- Added solutions by Bob Lied.
- Added solutions by Matthew Neleigh.
- Added solutions by Jan Krnavek.
- Added solutions by Matthias Muth.
- Added solutions by Arne Sommer.
23 files changed, 3463 insertions, 3294 deletions
diff --git a/challenge-292/wanderdoc/perl/ch-1.pl b/challenge-292/wanderdoc/perl/ch-1.pl new file mode 100755 index 0000000000..be2bac0f41 --- /dev/null +++ b/challenge-292/wanderdoc/perl/ch-1.pl @@ -0,0 +1,48 @@ +#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given an array of integers, @ints, where the largest integer is unique.
+
+Write a script to find whether the largest element in the array is at least twice as big as every element in the given array. If it is return the index of the largest element or return -1 otherwise.
+Example 1
+
+Input: @ints = (2, 4, 1, 0)
+Output: 1
+
+The largest integer is 4.
+For every other elements in the given array is at least twice as big.
+The index value of 4 is 1.
+
+Example 2
+
+Input: @ints = (1, 2, 3, 4)
+Output: -1
+
+The largest integer is 4.
+4 is less than twice the value of 3, so we return -1.
+
+=cut
+
+use List::Util qw(max first);
+use List::MoreUtils qw(onlyidx);
+use Test2::V0;
+
+is(twice_largest(2, 4, 1, 0), 1, 'Example 1');
+is(twice_largest(1, 2, 3, 4), -1, 'Example 2');
+done_testing();
+
+
+sub twice_largest
+{
+ my @arr = @_;
+ my $max = max(@arr);
+ my $max_idx = onlyidx { $_ == $max } @arr; # unique.
+ die "The largest integer is not unique." if $max_idx == -1;
+ splice(@arr, $max_idx, 1);
+ return
+ (defined first { $_ * 2 > $max } @arr )
+ ? -1
+ : $max_idx;
+}
\ No newline at end of file diff --git a/stats/pwc-current.json b/stats/pwc-current.json index e274e97a79..6ae35de0fc 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -2,54 +2,77 @@ "title" : { "text" : "The Weekly Challenge - 292" }, - "xAxis" : { - "type" : "category" + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "subtitle" : { - "text" : "[Champions: 16] Last updated at 2024-10-25 22:34:57 GMT" - }, - "chart" : { - "type" : "column" + "legend" : { + "enabled" : 0 }, "series" : [ { - "name" : "The Weekly Challenge - 292", "colorByPoint" : 1, + "name" : "The Weekly Challenge - 292", "data" : [ { - "name" : "Dave Jacoby", "y" : 3, - "drilldown" : "Dave Jacoby" + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" }, { - "drilldown" : "David Ferrone", - "name" : "David Ferrone", + "y" : 2, + "name" : "Athanasius", + "drilldown" : "Athanasius" + }, + { + "drilldown" : "Bob Lied", + "name" : "Bob Lied", "y" : 2 }, { - "drilldown" : "E. Choroba", + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 3 + }, + { "y" : 2, - "name" : "E. Choroba" + "name" : "David Ferrone", + "drilldown" : "David Ferrone" + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 }, { - "name" : "Feng Chang", "y" : 2, + "name" : "Feng Chang", "drilldown" : "Feng Chang" }, { - "name" : "Kjetil Skotheim", + "drilldown" : "Jan Krnavek", + "name" : "Jan Krnavek", + "y" : 1 + }, + { "y" : 2, - "drilldown" : "Kjetil Skotheim" + "drilldown" : "Kjetil Skotheim", + "name" : "Kjetil Skotheim" }, { "drilldown" : "Laurent Rosenfeld", - "y" : 3, - "name" : "Laurent Rosenfeld" + "name" : "Laurent Rosenfeld", + "y" : 3 }, { "y" : 2, @@ -57,75 +80,120 @@ "drilldown" : "Lubos Kolouch" }, { + "name" : "Matthew Neleigh", + "drilldown" : "Matthew Neleigh", + "y" : 1 + }, + { + "y" : 3, + "drilldown" : "Matthias Muth", + "name" : "Matthias Muth" + }, + { "y" : 1, "name" : "Niels van Dijke", "drilldown" : "Niels van Dijke" }, { + "name" : "Paulo Custodio", "drilldown" : "Paulo Custodio", - "y" : 2, - "name" : "Paulo Custodio" + "y" : 2 }, { - "drilldown" : "Peter Campbell Smith", "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith", "y" : 3 }, { - "drilldown" : "Reinier Maliepaard", "y" : 2, + "drilldown" : "Reinier Maliepaard", "name" : "Reinier Maliepaard" }, { - "drilldown" : "Robbie Hatley", "y" : 3, - "name" : "Robbie Hatley" + "name" : "Robbie Hatley", + "drilldown" : "Robbie Hatley" }, { + "drilldown" : "Roger Bell_West", "name" : "Roger Bell_West", - "y" : 2, - "drilldown" : "Roger Bell_West" + "y" : 3 }, { + "drilldown" : "Thomas Kohler", "name" : "Thomas Kohler", - "y" : 2, - "drilldown" : "Thomas Kohler" + "y" : 2 }, { - "drilldown" : "Tomasz Mucha", "y" : 2, + "drilldown" : "Tomasz Mucha", "name" : "Tomasz Mucha" }, { + "y" : 3, "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan", - "y" : 3 + "name" : "W. Luis Mochan" + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 1 } ] } ], - "legend" : { - "enabled" : 0 - }, "tooltip" : { - "followPointer" : 1, "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>", + "followPointer" : 1, "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>" }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } + "subtitle" : { + "text" : "[Champions: 23] Last updated at 2024-10-27 23:10:01 GMT" + }, + "xAxis" : { + "type" : "category" }, "drilldown" : { "series" : [ { - "name" : "Dave Jacoby", - "id" : "Dave Jacoby", + "data" : [ + [ + "Raku", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Arne Sommer", + "id" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "data" : [ + [ + "Perl", + 1 + ], + [ + "Raku", + 1 + ] + ], + "id" : "Athanasius" + }, + { + "name" : "Bob Lied", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Bob Lied" + }, + { "data" : [ [ "Perl", @@ -135,17 +203,19 @@ "Blog", 1 ] - ] + ], + "id" : "Dave Jacoby", + "name" : "Dave Jacoby" }, { - "id" : "David Ferrone", + "name" : "David Ferrone", "data" : [ [ "Blog", 2 ] ], - "name" : "David Ferrone" + "id" : "David Ferrone" }, { "id" : "E. Choroba", @@ -158,28 +228,36 @@ "name" : "E. Choroba" }, { - "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] ], + "name" : "Feng Chang", "id" : "Feng Chang" }, { - "name" : "Kjetil Skotheim", + "name" : "Jan Krnavek", + "data" : [ + [ + "Raku", + 1 + ] + ], + "id" : "Jan Krnavek" + }, + { + "id" : "Kjetil Skotheim", "data" : [ [ "Perl", 2 ] ], - "id" : "Kjetil Skotheim" + "name" : "Kjetil Skotheim" }, { - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -193,36 +271,62 @@ "Blog", 1 ] - ] + ], + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld" + }, + { + "id" : "Lubos Kolouch", + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Lubos Kolouch" + }, + { + "data" : [ + [ + "Perl", + 1 + ] + ], + "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh" }, { - "name" : "Lubos Kolouch", "data" : [ [ "Perl", 2 + ], + [ + "Blog", + 1 ] ], - "id" : "Lubos Kolouch" + "id" : "Matthias Muth", + "name" : "Matthias Muth" }, { - "name" : "Niels van Dijke", "id" : "Niels van Dijke", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Niels van Dijke" }, { - "name" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] ], + "name" : "Paulo Custodio", "id" : "Paulo Custodio" }, { @@ -240,7 +344,6 @@ "name" : "Peter Campbell Smith" }, { - "name" : "Reinier Maliepaard", "data" : [ [ "Perl", @@ -251,7 +354,8 @@ 1 ] ], - "id" : "Reinier Maliepaard" + "id" : "Reinier Maliepaard", + "name" : "Reinier Maliepaard" }, { "name" : "Robbie Hatley", @@ -276,13 +380,16 @@ [ "Raku", 1 + ], + [ + "Blog", + 1 ] ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { - "name" : "Thomas Kohler", "data" : [ [ "Perl", @@ -293,19 +400,21 @@ 1 ] ], + "name" : "Thomas Kohler", "id" : "Thomas Kohler" }, { + "name" : "Tomasz Mucha", "data" : [ [ "Perl", 2 ] ], - "id" : "Tomasz Mucha", - "name" : "Tomasz Mucha" + "id" : "Tomasz Mucha" }, { + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -316,9 +425,21 @@ 1 ] ], - "id" : "W. Luis Mochan", "name" : "W. Luis Mochan" + }, + { + "data" : [ + [ + "Perl", + 1 + ] + ], + "id" : "Wanderdoc", + "name" : "Wanderdoc" } ] + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 0bf20395fe..980ac11d12 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -1,17 +1,8 @@ { - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge Language" - }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-10-25 22:34:57 GMT" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "tooltip" : { + "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : "true", + "headerFormat" : "<span style=\"font-size:11px\"></span>" }, "legend" : { "enabled" : "false" @@ -20,232 +11,241 @@ { "data" : [ { + "y" : 80, "drilldown" : "041", - "name" : "041", - "y" : 80 + "name" : "041" }, { "y" : 77, - "name" : "040", - "drilldown" : "040" + "drilldown" : "040", + "name" : "040" }, { "y" : 68, - "name" : "039", - "drilldown" : "039" + "drilldown" : "039", + "name" : "039" }, { - "drilldown" : "038", + "y" : 74, "name" : "038", - "y" : 74 + "drilldown" : "038" }, { - "y" : 70, "name" : "037", - "drilldown" : "037" + "drilldown" : "037", + "y" : 70 }, { - "y" : 70, + "drilldown" : "036", "name" : "036", - "drilldown" : "036" + "y" : 70 }, { "name" : "035", - "y" : 68, - "drilldown" : "035" + "drilldown" : "035", + "y" : 68 }, { - "y" : 70, "name" : "034", - "drilldown" : "034" + "drilldown" : "034", + "y" : 70 }, { "drilldown" : "033", - "y" : 113, - "name" : "033" + "name" : "033", + "y" : 113 }, { - "y" : 97, + "drilldown" : "032", "name" : "032", - "drilldown" : "032" + "y" : 97 }, { - "drilldown" : "031", + "y" : 93, "name" : "031", - "y" : 93 + "drilldown" : "031" }, { "y" : 120, - "name" : "030", - "drilldown" : "030" + "drilldown" : "030", + "name" : "030" }, { + "y" : 83, "drilldown" : "029", - "name" : "029", - "y" : 83 + "name" : "029" }, { - "drilldown" : "028", + "y" : 82, "name" : "028", - "y" : 82 + "drilldown" : "028" }, { - "name" : "027", "y" : 64, + "name" : "027", "drilldown" : "027" }, { - "drilldown" : "026", "y" : 75, + "drilldown" : "026", "name" : "026" }, { - "drilldown" : "025", "y" : 62, + "drilldown" : "025", "name" : "025" }, { - "drilldown" : "024", "name" : "024", + "drilldown" : "024", "y" : 77 }, { "y" : 88, - "name" : "023", - "drilldown" : "023" + "drilldown" : "023", + "name" : "023" }, { - "name" : "022", "y" : 72, + "name" : "022", "drilldown" : "022" }, { + "drilldown" : "021", "name" : "021", - "y" : 72, - "drilldown" : "021" + "y" : 72 }, { - "y" : 100, + "drilldown" : "020", "name" : "020", - "drilldown" : "020" + "y" : 100 }, { "drilldown" : "019", - "y" : 101, - "name" : "019" + "name" : "019", + "y" : 101 }, { - "y" : 82, "name" : "018", - "drilldown" : "018" + "drilldown" : "018", + "y" : 82 }, { - "drilldown" : "017", + "y" : 83, "name" : "017", - "y" : 83 + "drilldown" : "017" }, { - "drilldown" : "016", "y" : 75, + "drilldown" : "016", "name" : "016" }, { - "y" : 95, + "drilldown" : "015", "name" : "015", - "drilldown" : "015" + "y" : 95 }, { "drilldown" : "014", - "y" : 98, - "name" : "014" + "name" : "014", + "y" : 98 }, { - "y" : 85, + "drilldown" : "013", "name" : "013", - "drilldown" : "013" + "y" : 85 }, { + "y" : 90, "drilldown" : "012", - "name" : "012", - "y" : 90 + "name" : "012" }, { + "drilldown" : "011", "name" : "011", - "y" : 86, - "drilldown" : "011" + "y" : 86 }, { - "y" : 69, "name" : "010", - "drilldown" : "010" + "drilldown" : "010", + "y" : 69 }, { "name" : "009", - "y" : 79, - "drilldown" : "009" + "drilldown" : "009", + "y" : 79 }, { - "y" : 82, "name" : "008", - "drilldown" : "008" + "drilldown" : "008", + "y" : 82 }, { + "drilldown" : "007", "name" : "007", - "y" : 71, - "drilldown" : "007" + "y" : 71 }, { - "name" : "006", "y" : 63, - "drilldown" : "006" + "drilldown" : "006", + "name" : "006" }, { - "drilldown" : "005", "y" : 82, + "drilldown" : "005", "name" : "005" }, { - "y" : 106, "name" : "004", - "drilldown" : "004" + "drilldown" : "004", + "y" : 106 }, { + "drilldown" : "003", "name" : "003", - "y" : 91, - "drilldown" : "003" + "y" : 91 }, { + "name" : "002", "drilldown" : "002", - "y" : 133, - "name" : "002" + "y" : 133 }, { - "name" : "001", "y" : 165, - "drilldown" : "001" + "drilldown" : "001", + "name" : "001" } ], - "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages" + "name" : "The Weekly Challenge Languages", + "colorByPoint" : "true" } ], - "chart" : { - "type" : "column" + "title" : { + "text" : "The Weekly Challenge Language" }, "plotOptions" : { "series" : { - "borderWidth" : 0, "dataLabels" : { "format" : "{point.y}", "enabled" : 1 - } + }, + "borderWidth" : 0 } }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "chart" : { + "type" : "column" + }, + "xAxis" : { + "type" : "category" + }, "drilldown" : { "series" : [ { - "name" : "041", - "id" : "041", "data" : [ [ "Perl", @@ -259,11 +259,11 @@ "Blog", 9 ] - ] + ], + "name" : "041", + "id" : "041" }, { - "name" : "040", - "id" : "040", "data" : [ [ "Perl", @@ -277,10 +277,11 @@ "Blog", 10 ] - ] + ], + "name" : "040", + "id" : "040" }, { - "name" : "039", "id" : "039", "data" : [ [ @@ -295,7 +296,8 @@ "Blog", 12 ] - ] + ], + "name" : "039" }, { "id" : "038", @@ -316,6 +318,7 @@ "name" : "038" }, { + "id" : "037", "data" : [ [ "Perl", @@ -330,7 +333,6 @@ 9 ] ], - "id" : "037", "name" : "037" }, { @@ -352,6 +354,7 @@ "name" : "036" }, { + "name" : "035", "data" : [ [ "Perl", @@ -366,12 +369,9 @@ 9 ] ], - "id" : "035", - "name" : "035" + "id" : "035" }, { - "name" : "034", - "id" : "034", "data" : [ [ "Perl", @@ -385,7 +385,9 @@ "Blog", 11 ] - ] + ], + "name" : "034", + "id" : "034" }, { "id" : "033", @@ -438,11 +440,11 @@ 9 ] ], - "id" : "031", - "name" : "031" + "name" : "031", + "id" : "031" }, { - "id" : "030", + "name" : "030", "data" : [ [ "Perl", @@ -457,10 +459,9 @@ 10 ] ], - "name" : "030" + "id" : "030" }, { - "name" : "029", "id" : "029", "data" : [ [ @@ -475,7 +476,8 @@ "Blog", 12 ] - ] + ], + "name" : "029" }, { "data" : [ @@ -497,7 +499,6 @@ }, { "name" : "027", - "id" : "027", "data" : [ [ "Perl", @@ -511,7 +512,8 @@ "Blog", 9 |
