diff options
| author | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2024-09-27 17:17:56 +0100 |
|---|---|---|
| committer | Mohammad Sajid Anwar <mohammad.anwar@yahoo.com> | 2024-09-27 17:17:56 +0100 |
| commit | 3b9ae8e17f9ba3d1fb2a4f612e0c4e2b271f6304 (patch) | |
| tree | c9456baff6b86e6c14a445011f2055d6f7195172 | |
| parent | 2802427efaecef5b572ed70f43900d70502a0c1b (diff) | |
| download | perlweeklychallenge-club-3b9ae8e17f9ba3d1fb2a4f612e0c4e2b271f6304.tar.gz perlweeklychallenge-club-3b9ae8e17f9ba3d1fb2a4f612e0c4e2b271f6304.tar.bz2 perlweeklychallenge-club-3b9ae8e17f9ba3d1fb2a4f612e0c4e2b271f6304.zip | |
- Added solutions by Robbie Hatley.
- Added solutions by Paulo Custodio.
- Added solutions by Jorg Sommrey.
23 files changed, 2729 insertions, 2620 deletions
diff --git a/challenge-288/wanderdoc/perl/ch-1.pl b/challenge-288/wanderdoc/perl/ch-1.pl new file mode 100755 index 0000000000..69286bafda --- /dev/null +++ b/challenge-288/wanderdoc/perl/ch-1.pl @@ -0,0 +1,75 @@ +#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given a string, $str, which is an integer.
+
+Write a script to find out the closest palindrome, not including itself. If there are more than one then return the smallest.
+
+ The closest is defined as the absolute difference minimized between two integers.
+
+Example 1
+
+Input: $str = "123"
+Output: "121"
+
+Example 2
+
+Input: $str = "2"
+Output: "1"
+
+There are two closest palindrome "1" and "3". Therefore we return the smallest "1".
+
+Example 3
+
+Input: $str = "1400"
+Output: "1441"
+
+Example 4
+
+Input: $str = "1001"
+Output: "999"
+
+=cut
+
+use Test2::V0;
+
+
+
+
+is(closest_palindrome(123), 121, 'Example 1');
+is(closest_palindrome(2), 1, 'Example 2');
+is(closest_palindrome(1440), 1441,'Example 3');
+is(closest_palindrome(1001), 999, 'Example 4');
+is(closest_palindrome(-123), 0, 'Example 5');
+done_testing();
+
+
+sub closest_palindrome
+{
+ my $num = $_[0];
+ my @signs = ( -1, 1);
+ my $multiplier = 1;
+
+ my $cand = $num;
+ do
+ {
+ for my $sign ( @signs )
+ {
+ $cand = $num + $multiplier * $sign;
+ return $cand if is_palindrome($cand);
+ }
+ $multiplier++;
+ }
+ while (1)
+}
+
+
+
+
+sub is_palindrome
+{
+ return 0 if ( $_[0] < 0 );
+ return $_[0] eq reverse($_[0]);
+}
\ No newline at end of file diff --git a/stats/pwc-current.json b/stats/pwc-current.json index 32948823b5..0a11910a64 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,140 +1,8 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, - "legend" : { - "enabled" : 0 - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "xAxis" : { - "type" : "category" - }, - "subtitle" : { - "text" : "[Champions: 18] Last updated at 2024-09-26 19:54:14 GMT" - }, - "title" : { - "text" : "The Weekly Challenge - 288" - }, - "series" : [ - { - "name" : "The Weekly Challenge - 288", - "data" : [ - { - "name" : "Andre Ploger", - "y" : 3, - "drilldown" : "Andre Ploger" - }, - { - "y" : 3, - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer" - }, - { - "y" : 2, - "name" : "Dave Jacoby", - "drilldown" : "Dave Jacoby" - }, - { - "drilldown" : "David Ferrone", - "y" : 2, - "name" : "David Ferrone" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "drilldown" : "Feng Chang", - "name" : "Feng Chang", - "y" : 2 - }, - { - "y" : 2, - "name" : "Kjetil Skotheim", - "drilldown" : "Kjetil Skotheim" - }, - { - "drilldown" : "Laurent Rosenfeld", - "y" : 3, - "name" : "Laurent Rosenfeld" - }, - { - "drilldown" : "Lubos Kolouch", - "y" : 2, - "name" : "Lubos Kolouch" - }, - { - "y" : 5, - "name" : "Luca Ferrari", - "drilldown" : "Luca Ferrari" - }, - { - "drilldown" : "Packy Anderson", - "name" : "Packy Anderson", - "y" : 5 - }, - { - "drilldown" : "Paulo Custodio", - "y" : 2, - "name" : "Paulo Custodio" - }, - { - "drilldown" : "Peter Campbell Smith", - "y" : 3, - "name" : "Peter Campbell Smith" - }, - { - "y" : 2, - "name" : "Reinier Maliepaard", - "drilldown" : "Reinier Maliepaard" - }, - { - "drilldown" : "Robbie Hatley", - "name" : "Robbie Hatley", - "y" : 3 - }, - { - "drilldown" : "Roger Bell_West", - "name" : "Roger Bell_West", - "y" : 4 - }, - { - "y" : 3, - "name" : "Torgny Lyon", - "drilldown" : "Torgny Lyon" - }, - { - "name" : "W. Luis Mochan", - "y" : 3, - "drilldown" : "W. Luis Mochan" - } - ], - "colorByPoint" : 1 - } - ], - "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 - }, - "chart" : { - "type" : "column" - }, "drilldown" : { "series" : [ { - "name" : "Andre Ploger", + "id" : "Andre Ploger", "data" : [ [ "Perl", @@ -145,10 +13,10 @@ 1 ] ], - "id" : "Andre Ploger" + "name" : "Andre Ploger" }, { - "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Raku", @@ -159,10 +27,9 @@ 1 ] ], - "name" : "Arne Sommer" + "id" : "Arne Sommer" }, { - "name" : "Dave Jacoby", "data" : [ [ "Perl", @@ -173,47 +40,62 @@ 1 ] ], + "name" : "Dave Jacoby", "id" : "Dave Jacoby" }, { + "id" : "David Ferrone", + "name" : "David Ferrone", "data" : [ [ "Perl", 2 ] - ], - "id" : "David Ferrone", - "name" : "David Ferrone" + ] }, { - "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba" + "id" : "E. Choroba" }, { + "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] + ] + }, + { + "data" : [ + [ + "Perl", + 2 + ], + [ + "Blog", + 1 + ] ], - "id" : "Feng Chang", - "name" : "Feng Chang" + "name" : "Jorg Sommrey", + "id" : "Jorg Sommrey" }, { "id" : "Kjetil Skotheim", + "name" : "Kjetil Skotheim", "data" : [ [ "Perl", 2 ] - ], - "name" : "Kjetil Skotheim" + ] }, { "data" : [ @@ -234,17 +116,16 @@ "id" : "Laurent Rosenfeld" }, { + "name" : "Lubos Kolouch", "data" : [ [ "Perl", 2 ] ], - "name" : "Lubos Kolouch", "id" : "Lubos Kolouch" }, { - "name" : "Luca Ferrari", "data" : [ [ "Raku", @@ -255,6 +136,7 @@ 3 ] ], + "name" : "Luca Ferrari", "id" : "Luca Ferrari" }, { @@ -276,17 +158,16 @@ "name" : "Packy Anderson" }, { + "id" : "Paulo Custodio", + "name" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] - ], - "name" : "Paulo Custodio", - "id" : "Paulo Custodio" + ] }, { - "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -297,6 +178,7 @@ 1 ] ], + "name" : "Peter Campbell Smith", "id" : "Peter Campbell Smith" }, { @@ -314,7 +196,7 @@ "id" : "Reinier Maliepaard" }, { - "name" : "Robbie Hatley", + "id" : "Robbie Hatley", "data" : [ [ "Perl", @@ -325,7 +207,7 @@ 1 ] ], - "id" : "Robbie Hatley" + "name" : "Robbie Hatley" }, { "data" : [ @@ -338,8 +220,8 @@ 2 ] ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { "data" : [ @@ -356,6 +238,7 @@ "id" : "Torgny Lyon" }, { + "id" : "W. Luis Mochan", "data" : [ [ "Perl", @@ -366,9 +249,160 @@ 1 ] ], - "name" : "W. Luis Mochan", - "id" : "W. Luis Mochan" + "name" : "W. Luis Mochan" + }, + { + "data" : [ + [ + "Perl", + 1 + ] + ], + "name" : "Wanderdoc", + "id" : "Wanderdoc" } ] + }, + "title" : { + "text" : "The Weekly Challenge - 288" + }, + "series" : [ + { + "colorByPoint" : 1, + "name" : "The Weekly Challenge - 288", + "data" : [ + { + "y" : 3, + "name" : "Andre Ploger", + "drilldown" : "Andre Ploger" + }, + { + "y" : 3, + "name" : "Arne Sommer", + "drilldown" : "Arne Sommer" + }, + { + "drilldown" : "Dave Jacoby", + "name" : "Dave Jacoby", + "y" : 2 + }, + { + "drilldown" : "David Ferrone", + "name" : "David Ferrone", + "y" : 2 + }, + { + "y" : 2, + "name" : "E. Choroba", + "drilldown" : "E. Choroba" + }, + { + "name" : "Feng Chang", + "drilldown" : "Feng Chang", + "y" : 2 + }, + { + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey", + "y" : 3 + }, + { + "drilldown" : "Kjetil Skotheim", + "name" : "Kjetil Skotheim", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "y" : 2, + "name" : "Lubos Kolouch", + "drilldown" : "Lubos Kolouch" + }, + { + "y" : 5, + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari" + }, + { + "y" : 5, + "name" : "Packy Anderson", + "drilldown" : "Packy Anderson" + }, + { + "name" : "Paulo Custodio", + "drilldown" : "Paulo Custodio", + "y" : 2 + }, + { + "y" : 3, + "name" : "Peter Campbell Smith", + "drilldown" : "Peter Campbell Smith" + }, + { + "y" : 2, + "drilldown" : "Reinier Maliepaard", + "name" : "Reinier Maliepaard" + }, + { + "y" : 3, + "drilldown" : "Robbie Hatley", + "name" : "Robbie Hatley" + }, + { + "name" : "Roger Bell_West", + "drilldown" : "Roger Bell_West", + "y" : 4 + }, + { + "name" : "Torgny Lyon", + "drilldown" : "Torgny Lyon", + "y" : 3 + }, + { + "y" : 3, + "name" : "W. Luis Mochan", + "drilldown" : "W. Luis Mochan" + }, + { + "drilldown" : "Wanderdoc", + "name" : "Wanderdoc", + "y" : 1 + } + ] + } + ], + "subtitle" : { + "text" : "[Champions: 20] Last updated at 2024-09-27 16:17:48 GMT" + }, + "chart" : { + "type" : "column" + }, + "legend" : { + "enabled" : 0 + }, + "tooltip" : { + "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", + "followPointer" : 1, + "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 + } + }, + "xAxis" : { + "type" : "category" } } diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 3c42d47d10..717b6f4c94 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -1,13 +1,4 @@ { - "plotOptions" : { - "series" : { - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - }, - "borderWidth" : 0 - } - }, "legend" : { "enabled" : "false" }, @@ -16,41 +7,51 @@ "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>" + }, "xAxis" : { "type" : "category" }, - "subtitle" : { - "text" : "Click the columns to drilldown the language breakdown. Last updated at 2024-09-26 19:54:14 GMT" + "plotOptions" : { + "series" : { + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + }, + "borderWidth" : 0 + } }, "series" : [ { - "colorByPoint" : "true", "name" : "The Weekly Challenge Languages", "data" : [ { "name" : "041", - "y" : 80, - "drilldown" : "041" + "drilldown" : "041", + "y" : 80 }, { - "drilldown" : "040", "name" : "040", + "drilldown" : "040", "y" : 77 }, { - "y" : 68, + "drilldown" : "039", "name" : "039", - "drilldown" : "039" + "y" : 68 }, { - "drilldown" : "038", + "y" : 74, "name" : "038", - "y" : 74 + "drilldown" : "038" }, { + "name" : "037", "drilldown" : "037", - "y" : 70, - "name" : "037" + "y" : 70 }, { "y" : 70, @@ -58,53 +59,53 @@ "drilldown" : "036" }, { - "name" : "035", "y" : 68, + "name" : "035", "drilldown" : "035" }, { - "drilldown" : "034", "y" : 70, - "name" : "034" + "name" : "034", + "drilldown" : "034" }, { - "drilldown" : "033", "y" : 113, - "name" : "033" + "name" : "033", + "drilldown" : "033" }, { - "name" : "032", "y" : 97, + "name" : "032", "drilldown" : "032" }, { + "y" : 93, "drilldown" : "031", - "name" : "031", - "y" : 93 + "name" : "031" }, { - "y" : 120, + "drilldown" : "030", "name" : "030", - "drilldown" : "030" + "y" : 120 }, { "name" : "029", - "y" : 83, - "drilldown" : "029" + "drilldown" : "029", + "y" : 83 }, { "y" : 82, - "name" : "028", - "drilldown" : "028" + "drilldown" : "028", + "name" : "028" }, { - "drilldown" : "027", "y" : 64, - "name" : "027" + "name" : "027", + "drilldown" : "027" }, { - "drilldown" : "026", "name" : "026", + "drilldown" : "026", "y" : 75 }, { @@ -113,38 +114,38 @@ "y" : 62 }, { - "drilldown" : "024", + "y" : 77, "name" : "024", - "y" : 77 + "drilldown" : "024" }, { "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 }, { - "drilldown" : "020", "name" : "020", + "drilldown" : "020", "y" : 100 }, { - "drilldown" : "019", "y" : 101, - "name" : "019" + "name" : "019", + "drilldown" : "019" }, { - "name" : "018", "y" : 82, + "name" : "018", "drilldown" : "018" }, { @@ -153,13 +154,13 @@ "drilldown" : "017" }, { + "name" : "016", "drilldown" : "016", - "y" : 75, - "name" : "016" + "y" : 75 }, { - "drilldown" : "015", "name" : "015", + "drilldown" : "015", "y" : 95 }, { @@ -168,53 +169,53 @@ "y" : 98 }, { - "drilldown" : "013", "y" : 85, - "name" : "013" + "name" : "013", + "drilldown" : "013" }, { - "drilldown" : "012", "name" : "012", + "drilldown" : "012", "y" : 90 }, { - "drilldown" : "011", "y" : 86, + "drilldown" : "011", "name" : "011" }, { + "drilldown" : "010", "name" : "010", - "y" : 69, - "drilldown" : "010" + "y" : 69 }, { - "y" : 79, "name" : "009", - "drilldown" : "009" + "drilldown" : "009", + "y" : 79 }, { + "drilldown" : "008", "name" : "008", - "y" : 82, - "drilldown" : "008" + "y" : 82 }, { - "name" : "007", "y" : 71, + "name" : "007", "drilldown" : "007" }, { "name" : "006", - "y" : 63, - "drilldown" : "006" + "drilldown" : "006", + "y" : 63 }, { "name" : "005", - "y" : 82, - "drilldown" : "005" + "drilldown" : "005", + "y" : 82 }, { - "drilldown" : "004", "name" : "004", + "drilldown" : "004", "y" : 106 }, { @@ -223,24 +224,23 @@ "drilldown" : "003" }, { - "drilldown" : "002", "y" : 133, - "name" : "002" + "name" : "002", + "drilldown" : "002" }, { "y" : 165, "name" : "001", "drilldown" : "001" } - ] + ], + "colorByPoint" : "true" } ], - "title" : { - "text" : "The Weekly Challenge Language" - }, "drilldown" : { "series" : [ { + "name" : "041", "data" : [ [ "Perl", @@ -255,7 +255,6 @@ 9 ] ], - "name" : "041", "id" : "041" }, { @@ -278,6 +277,7 @@ }, { "id" : "039", + "name" : "039", "data" : [ [ "Perl", @@ -291,10 +291,10 @@ "Blog", 12 ] - ], - "name" : "039" + ] }, { + "name" : "038", "data" : [ [ "Perl", @@ -309,11 +309,10 @@ 12 ] ], - "id" : "038", - "name" : "038" + "id" : "038" }, { - "name" : "037", + "id" : "037", "data" : [ [ "Perl", @@ -328,9 +327,10 @@ 9 ] ], - "id" : "037" + "name" : "037" }, { + "name" : "036", "data" : [ [ "Perl", @@ -345,10 +345,11 @@ 11 ] ], - "id" : "036", - "name" : "036" + "id" : "036" }, { + "id" : "035", + "name" : "035", "data" : [ [ "Perl", @@ -362,11 +363,10 @@ "Blog", 9 ] - ], - "id" : "035", - "name" : "035" + ] }, { + "id" : "034", "data" : [ [ "Perl", @@ -381,10 +381,10 @@ 11 ] ], - "id" : "034", "name" : "034" }, { + "name" : "033", "data" : [ [ "Perl", @@ -399,10 +399,10 @@ 10 ] ], - "name" : "033", "id" : "033" }, { + "id" : "032", "data" : [ [ "Perl", @@ -417,10 +417,10 @@ 10 ] ], - "name" : "032", - "id" : "032" + "name" : "032" }, { + "id" : "031", "data" : [ [ "Perl", @@ -435,10 +435,10 @@ 9 ] |
