diff options
24 files changed, 2716 insertions, 2576 deletions
diff --git a/challenge-279/wanderdoc/perl/ch-1.pl b/challenge-279/wanderdoc/perl/ch-1.pl new file mode 100755 index 0000000000..207e297afa --- /dev/null +++ b/challenge-279/wanderdoc/perl/ch-1.pl @@ -0,0 +1,43 @@ +#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given two arrays, @letters and @weights.
+
+Write a script to sort the givem array @letters based on the @weights..
+Example 1
+
+Input: @letters = ('R', 'E', 'P', 'L')
+ @weights = (3, 2, 1, 4)
+Output: PERL
+
+Example 2
+
+Input: @letters = ('A', 'U', 'R', 'K')
+ @weights = (2, 4, 1, 3)
+Output: RAKU
+
+Example 3
+
+Input: @letters = ('O', 'H', 'Y', 'N', 'P', 'T')
+ @weights = (5, 4, 2, 6, 1, 3)
+Output: PYTHON
+=cut
+
+use Test2::V0;
+is(sort_letters([('R', 'E', 'P', 'L')], [(3, 2, 1, 4)]), 'PERL', 'Example 1');
+is(sort_letters([('A', 'U', 'R', 'K')], [(2, 4, 1, 3)]), 'RAKU', 'Example 2');
+is(sort_letters([('O', 'H', 'Y', 'N', 'P', 'T')], [(5, 4, 2, 6, 1, 3)]), 'PYTHON', 'Example 3');
+done_testing();
+
+sub sort_letters
+{
+ my ($aref_ltr, $aref_num) = @_;
+ my %hash;
+ for my $idx ( 0 .. $#$aref_num )
+ {
+ $hash{ $aref_num->[$idx] } = $aref_ltr->[$idx];
+ }
+ return join('', @hash{ sort {$a <=> $b} keys %hash });
+}
\ No newline at end of file diff --git a/challenge-279/wanderdoc/perl/ch-2.pl b/challenge-279/wanderdoc/perl/ch-2.pl new file mode 100755 index 0000000000..6e04fdd7bc --- /dev/null +++ b/challenge-279/wanderdoc/perl/ch-2.pl @@ -0,0 +1,82 @@ +#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given a string, $str.
+
+Write a script to split the given string into two containing exactly same number of vowels and return true if you can otherwise false.
+Example 1
+
+Input: $str = "perl"
+Output: false
+
+Example 2
+
+Input: $str = "book"
+Output: true
+
+Two possible strings "bo" and "ok" containing exactly one vowel each.
+
+Example 3
+
+Input: $str = "goodmorning""
+Output: true
+
+Two possible strings "good" and "morning" containing two vowels each.
+=cut
+
+use constant { true => 1, false => 0};
+use Test2::V0;
+
+is(splits_on_vowels('perl'), false, 'Example 1');
+is(splits_on_vowels('book'), true, 'Example 2');
+is(splits_on_vowels('goodmorning'), true, 'Example 3');
+is(actually_split_on_vowels('perl'), false, 'Example 1A');
+is(actually_split_on_vowels('book'), true, 'Example 2A');
+is(actually_split_on_vowels('goodmorning'), true, 'Example 3A');
+
+done_testing();
+
+
+
+
+sub splits_on_vowels
+{
+ my $string = $_[0];
+ my $re_vowels = qr/[aeiouy]/i;
+ my $count = () = $string =~ /$re_vowels/g;
+ return ($count == 0 or $count % 2 == 1) ? false : true;
+}
+
+
+
+sub actually_split_on_vowels
+{
+ my $string = $_[0];
+ my $re_vowels = qr/[aeiouy]/i;
+
+ if ( length($string) == 1)
+ {
+ return false;
+ }
+ elsif ( length($string) == 2 )
+ {
+ return
+ (substr($string, 0, 1) =~ /$re_vowels/
+ and substr($string, -1, 1) =~ /$re_vowels/) ? true : false;
+ }
+ else
+ {
+ for my $idx ( 1 .. length($string) - 1 )
+ {
+ my $count_1 = () = substr($string, 0, $idx) =~ /$re_vowels/g;
+ my $count_2 = () = substr($string, $idx) =~ /$re_vowels/g;
+ if ( $count_1 == $count_2 )
+ {
+ return true;
+ }
+ }
+ }
+ return false;
+}
\ No newline at end of file diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a28e405c6e..ac8eb63c0d 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,10 +1,190 @@ { - "legend" : { - "enabled" : 0 + "xAxis" : { + "type" : "category" + }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 5, + "drilldown" : "Ali Moradi", + "name" : "Ali Moradi" + }, + { + "name" : "Andrew Schneider", + "drilldown" : "Andrew Schneider", + "y" : 3 + }, + { + "name" : "Andrezgz", + "y" : 2, + "drilldown" : "Andrezgz" + }, + { + "y" : 3, + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer" + }, + { + "y" : 4, + "drilldown" : "Athanasius", + "name" : "Athanasius" + }, + { + "y" : 2, + "drilldown" : "BarrOff", + "name" : "BarrOff" + }, + { + "name" : "Bob Lied", + "y" : 2, + "drilldown" : "Bob Lied" + }, + { + "drilldown" : "Bruce Gray", + "y" : 2, + "name" : "Bruce Gray" + }, + { + "y" : 2, + "drilldown" : "David Ferrone", + "name" : "David Ferrone" + }, + { + "name" : "E. Choroba", + "y" : 2, + "drilldown" : "E. Choroba" + }, + { + "name" : "Feng Chang", + "drilldown" : "Feng Chang", + "y" : 2 + }, + { + "drilldown" : "Jaldhar H. Vyas", + "y" : 5, + "name" : "Jaldhar H. Vyas" + }, + { + "drilldown" : "Jan Krnavek", + "y" : 2, + "name" : "Jan Krnavek" + }, + { + "y" : 3, + "drilldown" : "Jorg Sommrey", + "name" : "Jorg Sommrey" + }, + { + "y" : 2, + "drilldown" : "Kjetil Skotheim", + "name" : "Kjetil Skotheim" + }, + { + "name" : "Laurent Rosenfeld", + "y" : 6, + "drilldown" : "Laurent Rosenfeld" + }, + { + "y" : 2, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "name" : "Matthew Neleigh", + "drilldown" : "Matthew Neleigh", + "y" : 2 + }, + { + "y" : 3, + "drilldown" : "Matthias Muth", + "name" : "Matthias Muth" + }, + { + "y" : 2, + "drilldown" : "Nelo Tovar", + "name" : "Nelo Tovar" + }, + { + "name" : "Niels van Dijke", + "drilldown" : "Niels van Dijke", + "y" : 2 + }, + { + "drilldown" : "Packy Anderson", + "y" : 5, + "name" : "Packy Anderson" + }, + { + "drilldown" : "Peter Campbell Smith", + "y" : 3, + "name" : "Peter Campbell Smith" + }, + { + "drilldown" : "Peter Meszaros", + "y" : 2, + "name" : "Peter Meszaros" + }, + { + "drilldown" : "Reinier Maliepaard", + "y" : 3, + "name" : "Reinier Maliepaard" + }, + { + "y" : 3, + "drilldown" : "Robbie Hatley", + "name" : "Robbie Hatley" + }, + { + "name" : "Robert Ransbottom", + "drilldown" : "Robert Ransbottom", + "y" : 2 + }, + { + "y" : 4, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "drilldown" : "Santiago Leyva", + "y" : 2, + "name" : "Santiago Leyva" + }, + { + "name" : "Thomas Kohler", + "y" : 4, + "drilldown" : "Thomas Kohler" + }, + { + "drilldown" : "Ulrich Rieke", + "y" : 4, + "name" : "Ulrich Rieke" + }, + { + "y" : 3, + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + }, + { + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc", + "y" : 2 + } + ], + "name" : "The Weekly Challenge - 279" + } + ], + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } }, "drilldown" : { "series" : [ { + "id" : "Ali Moradi", + "name" : "Ali Moradi", "data" : [ [ "Perl", @@ -18,9 +198,7 @@ "Blog", 1 ] - ], - "name" : "Ali Moradi", - "id" : "Ali Moradi" + ] }, { "name" : "Andrew Schneider", @@ -37,18 +215,16 @@ ] }, { - "id" : "Andrezgz", - "name" : "Andrezgz", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Andrezgz", + "id" : "Andrezgz" }, { - "id" : "Arne Sommer", - "name" : "Arne Sommer", "data" : [ [ "Raku", @@ -58,9 +234,13 @@ "Blog", 1 ] - ] + ], + "name" : "Arne Sommer", + "id" : "Arne Sommer" }, { + "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -70,29 +250,27 @@ "Raku", 2 ] - ], - "name" : "Athanasius", - "id" : "Athanasius" + ] }, { - "name" : "BarrOff", - "id" : "BarrOff", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "BarrOff", + "name" : "BarrOff" }, { + "id" : "Bob Lied", + "name" : "Bob Lied", "data" : [ [ "Perl", 2 ] - ], - "id" : "Bob Lied", - "name" : "Bob Lied" + ] }, { "data" : [ @@ -105,8 +283,8 @@ "name" : "Bruce Gray" }, { - "name" : "David Ferrone", "id" : "David Ferrone", + "name" : "David Ferrone", "data" : [ [ "Perl", @@ -115,24 +293,24 @@ ] }, { + "id" : "E. Choroba", + "name" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ], - "name" : "E. Choroba", - "id" : "E. Choroba" + ] }, { + "id" : "Feng Chang", + "name" : "Feng Chang", "data" : [ [ "Raku", 2 ] - ], - "id" : "Feng Chang", - "name" : "Feng Chang" + ] }, { "data" : [ @@ -149,8 +327,8 @@ 1 ] ], - "name" : "Jaldhar H. Vyas", - "id" : "Jaldhar H. Vyas" + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" }, { "data" : [ @@ -177,8 +355,8 @@ "id" : "Jorg Sommrey" }, { - "name" : "Kjetil Skotheim", "id" : "Kjetil Skotheim", + "name" : "Kjetil Skotheim", "data" : [ [ "Perl", @@ -205,18 +383,18 @@ ] }, { - "name" : "Mark Anderson", - "id" : "Mark Anderson", "data" : [ [ "Raku", 2 ] - ] + ], + "id" : "Mark Anderson", + "name" : "Mark Anderson" }, { - "id" : "Matthew Neleigh", "name" : "Matthew Neleigh", + "id" : "Matthew Neleigh", "data" : [ [ "Perl", @@ -239,14 +417,14 @@ "id" : "Matthias Muth" }, { - "id" : "Nelo Tovar", - "name" : "Nelo Tovar", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Nelo Tovar", + "id" : "Nelo Tovar" }, { "data" : [ @@ -255,10 +433,12 @@ 2 ] ], - "name" : "Niels van Dijke", - "id" : "Niels van Dijke" + "id" : "Niels van Dijke", + "name" : "Niels van Dijke" }, { + "name" : "Packy Anderson", + "id" : "Packy Anderson", "data" : [ [ "Perl", @@ -272,11 +452,11 @@ "Blog", 1 ] - ], - "name" : "Packy Anderson", - "id" : "Packy Anderson" + ] }, { + "id" : "Peter Campbell Smith", + "name" : "Peter Campbell Smith", "data" : [ [ "Perl", @@ -286,9 +466,7 @@ "Blog", 1 ] - ], - "name" : "Peter Campbell Smith", - "id" : "Peter Campbell Smith" + ] }, { "data" : [ @@ -297,12 +475,10 @@ 2 ] ], - "id" : "Peter Meszaros", - "name" : "Peter Meszaros" + "name" : "Peter Meszaros", + "id" : "Peter Meszaros" }, { - "name" : "Reinier Maliepaard", - "id" : "Reinier Maliepaard", "data" : [ [ "Perl", @@ -312,11 +488,11 @@ "Blog", 1 ] - ] + ], + "name" : "Reinier Maliepaard", + "id" : "Reinier Maliepaard" }, { - "id" : "Robbie Hatley", - "name" : "Robbie Hatley", "data" : [ [ "Perl", @@ -326,7 +502,9 @@ "Blog", 1 ] - ] + ], + "id" : "Robbie Hatley", + "name" : "Robbie Hatley" }, { "id" : "Robert Ransbottom", @@ -353,8 +531,8 @@ ] }, { - "id" : "Santiago Leyva", "name" : "Santiago Leyva", + "id" : "Santiago Leyva", "data" : [ [ "Perl", @@ -363,8 +541,6 @@ ] }, { - "name" : "Thomas Kohler", - "id" : "Thomas Kohler", "data" : [ [ "Perl", @@ -374,11 +550,13 @@ "Blog", 2 ] - ] + ], + "id" : "Thomas Kohler", + "name" : "Thomas Kohler" }, { - "name" : "Ulrich Rieke", "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -403,206 +581,43 @@ 1 ] ] + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Wanderdoc", + "name" : "Wanderdoc" } ] }, + "legend" : { + "enabled" : 0 + }, "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 } } }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "[Champions: 32] Last updated at 2024-07-28 20:37:42 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "tooltip" : { "followPointer" : 1, - "pointFormat" : "<span style='color:{point.color}'>{point.name}</span>: <b>{point.y:f}</b><br/>", - "headerFormat" : "<span style='font-size:11px'>{series.name}</span><br/>" + "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/>" + }, + "subtitle" : { + "text" : "[Champions: 33] Last updated at 2024-07-28 20:42:59 GMT" }, - "series" : [ - { - "colorByPoint" : 1, - "name" : "The Weekly Challenge - 279", - "data" : [ - { - "name" : "Ali Moradi", - "y" : 5, - "drilldown" : "Ali Moradi" - }, - { - "y" : 3, - "name" : "Andrew Schneider", - "drilldown" : "Andrew Schneider" - }, - { - "name" : "Andrezgz", - "y" : 2, - "drilldown" : "Andrezgz" - }, - { - "name" : "Arne Sommer", - "y" : 3, - "drilldown" : "Arne Sommer" - }, - { - "drilldown" : "Athanasius", - "y" : 4, - "name" : "Athanasius" - }, - { - "y" : 2, - "name" : "BarrOff", - "drilldown" : "BarrOff" - }, - { - "drilldown" : "Bob Lied", - "name" : "Bob Lied", - "y" : 2 - }, - { - "name" : "Bruce Gray", - "y" : 2, - "drilldown" : "Bruce Gray" - }, - { - "drilldown" : "David Ferrone", - "name" : "David Ferrone", - "y" : 2 - }, - { - "drilldown" : "E. Choroba", - "name" : "E. Choroba", - "y" : 2 - }, - { - "drilldown" : "Feng Chang", - "name" : "Feng Chang", - "y" : 2 - }, - { - "drilldown" : "Jaldhar H. Vyas", - "y" : 5, - "name" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "Jan Krnavek", - "y" : 2, - "name" : "Jan Krnavek" - }, - { - "y" : 3, - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey" - }, - { - "drilldown" : "Kjetil Skotheim", - "name" : "Kjetil Skotheim", - "y" : 2 - }, - { - "name" : "Laurent Rosenfeld", - "y" : 6, - "drilldown" : "Laurent Rosenfeld" - }, - { - "name" : "Mark Anderson", - "y" : 2, - "drilldown" : "Mark Anderson" - }, - { - "drilldown" : "Matthew Neleigh", - "name" : "Matthew Neleigh", - "y" : 2 - }, - { - "drilldown" : "Matthias Muth", - "name" : "Matthias Muth", - "y" : 3 - }, - { - "drilldown" : "Nelo Tovar", - "name" : "Nelo Tovar", - "y" : 2 - }, - { - "y" : 2, - "name" : "Niels van Dijke", - "drilldown" : "Niels van Dijke" - }, - { - "name" : "Packy Anderson", - "y" : 5, - "drilldown" : "Packy Anderson" - }, - { - "y" : 3, - "name" : "Peter Campbell Smith", - "drilldown" : "Peter Campbell Smith" - }, - { - "y" : 2, - "name" : "Peter Meszaros", - "drilldown" : "Peter Meszaros" - }, - { - "y" : 3, - "name" : "Reinier Maliepaard", - "drilldown" : "Reinier Maliepaard" - }, - { - "drilldown" : "Robbie Hatley", - "y" : 3, - "name" : "Robbie Hatley" - }, - { - "name" : "Robert Ransbottom", - "y" : 2, - "drilldown" : "Robert Ransbottom" - }, - { - "y" : 4, - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West" - }, - { - "y" : 2, - "name" : "Santiago Leyva", - "drilldown" : "Santiago Leyva" - }, - { - "drilldown" : "Thomas Kohler", - "name" : "Thomas Kohler", - "y" : 4 - }, - { - "drilldown" : "Ulrich Rieke", - "name" : "Ulrich Rieke", - "y" : 4 - }, - { - "name" : "W. Luis Mochan", - "y" : 3, - "drilldown" : "W. Luis Mochan" - } - ] - } - ], "title" : { "text" : "The Weekly Challenge - 279" + }, + "chart" : { + "type" : "column" } } diff --git a/stats/pwc-language-breakdown-2019.json b/stats/pwc-language-breakdown-2019.json index 7abae3ca19..1c43654435 100644 --- a/stats/pwc-language-breakdown-2019.json +++ b/stats/pwc-language-breakdown-2019.json @@ -1,53 +1,44 @@ { - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, - "tooltip" : { - "headerFormat" : "<span style=\"font-size:11px\"></span>", - "followPointer" : "true", - "pointFormat" : "<span style=\"color:{point.color}\">Challenge {point.name}</span>: <b>{point.y:f}</b><br/>" + "xAxis" : { + "type" : "category" }, "series" : [ { - "colorByPoint" : "true", - "name" : "The Weekly Challenge Languages", "data" : [ { - "drilldown" : "001", "name" : "#001", - "y" : 165 + "y" : 165, + "drilldown" : "001" }, { - "name" : "#002", "y" : 133, - "drilldown" : "002" + "drilldown" : "002", + "name" : "#002" }, { - "drilldown" : "003", "name" : "#003", - "y" : 91 + "y" : 91, + "drilldown" : "003" }, { + "drilldown" : "004", "y" : 106, - "name" : "#004", - "drilldown" : "004" + "name" : "#004" }, { "y" : 82, - "name" : "#005", - "drilldown" : "005" + "drilldown" : "005", + "name" : "#005" }, { + "name" : "#006", "drilldown" : "006", - "y" : 63, - "name" : "#006" + "y" : 63 }, { - "y" : 71, "name" : "#007", - "drilldown" : "007" + "drilldown" : "007", + "y" : 71 }, { "name" : "#008", @@ -55,59 +46,59 @@ "drilldown" : "008" }, { - "drilldown" : "009", "name" : "#009", - "y" : 79 + "y" : 79, + "drilldown" : "009" }, { + "drilldown" : "010", "y" : 69, - "name" : "#010", - "drilldown" : "010" + "name" : "#010" }, { + "drilldown" : "011", "y" : 86, - "name" : "#011", - "drilldown" : "011" + "name" : "#011" }, { - "y" : 90, "name" : "#012", - "drilldown" : "012" + "drilldown" : "012", + "y" : 90 }, { - "y" : 85, "name" : "#013", - "drilldown" : "013" + "drilldown" : "013", + "y" : 85 }, { "drilldown" : "014", - "name" : "#014", - "y" : 98 + "y" : 98, + "name" : "#014" }, { "drilldown" : "015", - "name" : "#015", - "y" : 95 + "y" : 95, + "name" : "#015" }, { - "drilldown" : "016", "name" : "#016", + "drilldown" : "016", "y" : 75 }, { - "y" : 83, "name" : "#017", + "y" : 83, "drilldown" : "017" }, { - "drilldown" : "018", + "name" : "#018", "y" : 82, - "name" : "#018" + "drilldown" : "018" }, { - "y" : 101, "name" : "#019", - "drilldown" : "019" + "drilldown" : "019", + "y" : 101 }, { "drilldown" : "020", @@ -115,38 +106,38 @@ "name" : |
