diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-12-27 09:50:05 +0000 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2020-12-27 09:50:05 +0000 |
| commit | c35dbff0ed10a535921cbb598aae211300657c4f (patch) | |
| tree | b277b5f31bf48a81002ff747e2a26ae52b92c44b | |
| parent | 571c1c64d2a057f3af80d367e15887ea600de29c (diff) | |
| download | perlweeklychallenge-club-c35dbff0ed10a535921cbb598aae211300657c4f.tar.gz perlweeklychallenge-club-c35dbff0ed10a535921cbb598aae211300657c4f.tar.bz2 perlweeklychallenge-club-c35dbff0ed10a535921cbb598aae211300657c4f.zip | |
- Added solutions by Alexander Karelas.
| -rwxr-xr-x | challenge-092/alexander-karelas/perl/ch-1.pl | 31 | ||||
| -rwxr-xr-x | challenge-092/alexander-karelas/perl/ch-2.pl | 44 | ||||
| -rw-r--r-- | stats/pwc-current.json | 359 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 64 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 646 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 708 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-121-150.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-151-180.json | 50 | ||||
| -rw-r--r-- | stats/pwc-summary-181-210.json | 34 | ||||
| -rw-r--r-- | stats/pwc-summary-211-240.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 116 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 28 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 38 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 474 |
15 files changed, 1443 insertions, 1353 deletions
diff --git a/challenge-092/alexander-karelas/perl/ch-1.pl b/challenge-092/alexander-karelas/perl/ch-1.pl new file mode 100755 index 0000000000..a6fcb0c681 --- /dev/null +++ b/challenge-092/alexander-karelas/perl/ch-1.pl @@ -0,0 +1,31 @@ +#!/usr/bin/env perl + +use v5.30; +use warnings; + +# args +my ($A, $B) = @ARGV; +length $A and length $B or die "Usage: $0 \$A \$B"; + +# pre-check +length $A == length $B or say(0), exit; + +# start +my (%a_to_b, %b_to_a); + +my @a = split //, $A; +my @b = split //, $B; + +while (@a) { + my $x = shift @a; + my $y = shift @b; + + if (exists $a_to_b{$x} or exists $b_to_a{$y}) { + ($a_to_b{$x} // '') eq $y and ($b_to_a{$y} // '') eq $x or say(0), exit; + } + + $a_to_b{$x} //= $y; + $b_to_a{$y} //= $x; +} + +say 1; diff --git a/challenge-092/alexander-karelas/perl/ch-2.pl b/challenge-092/alexander-karelas/perl/ch-2.pl new file mode 100755 index 0000000000..a1d6011572 --- /dev/null +++ b/challenge-092/alexander-karelas/perl/ch-2.pl @@ -0,0 +1,44 @@ +#!/usr/bin/env perl + +use v5.30; +use warnings; + +use List::Util 'min', 'max'; + +my @S = ( + [1, 5], + [7, 9], +); + +my $N = [10, 11]; + +push @S, $N; + +LOOP: +{ + # check all pairs of intervals, whether they merge + for (my $i = 0; $i < @S - 1; $i++) { + for (my $j = $i + 1; $j < @S; $j++) { + my $pair_a = $S[$i]; + my $pair_b = $S[$j]; + + # do they touch? + if ($pair_a->[1] >= $pair_b->[0] and $pair_a->[0] <= $pair_b->[1]) { + # merge the two intervals and start over + my $min = min($pair_a->[0], $pair_b->[0]); + my $max = max($pair_a->[1], $pair_b->[1]); + splice @S, $j, 1; + splice @S, $i, 1; + push @S, [$min, $max]; + + redo LOOP; + } + } + } +} + +# sort intervals +@S = sort {$a->[0] <=> $b->[0]} @S; + +# display them +say join(", ", map {"($_->[0],$_->[1])"} @S); diff --git a/stats/pwc-current.json b/stats/pwc-current.json index a5db14f0c6..352316fa33 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,17 +1,159 @@ { + "title" : { + "text" : "Perl Weekly Challenge - 092" + }, "subtitle" : { - "text" : "[Champions: 23] Last updated at 2020-12-27 09:39:35 GMT" + "text" : "[Champions: 24] Last updated at 2020-12-27 09:49:43 GMT" + }, + "xAxis" : { + "type" : "category" + }, + "legend" : { + "enabled" : 0 + }, + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + } + } }, + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "y" : 3, + "name" : "Aaron Smith", + "drilldown" : "Aaron Smith" + }, + { + "y" : 2, + "name" : "Alexander Karelas", + "drilldown" : "Alexander Karelas" + }, + { + "y" : 2, + "drilldown" : "Alexander Pankoff", + "name" : "Alexander Pankoff" + }, + { + "name" : "Andrew Shitov", + "drilldown" : "Andrew Shitov", + "y" : 2 + }, + { + "y" : 2, + "name" : "Cheok-Yin Fung", + "drilldown" : "Cheok-Yin Fung" + }, + { + "y" : 2, + "name" : "Dave Jacoby", + "drilldown" : "Dave Jacoby" + }, + { + "drilldown" : "E. Choroba", + "name" : "E. Choroba", + "y" : 2 + }, + { + "y" : 4, + "name" : "Flavio Poletti", + "drilldown" : "Flavio Poletti" + }, + { + "name" : "James Smith", + "drilldown" : "James Smith", + "y" : 3 + }, + { + "y" : 2, + "name" : "Jan Krnavek", + "drilldown" : "Jan Krnavek" + }, + { + "y" : 2, + "name" : "Jorg Sommrey", + "drilldown" : "Jorg Sommrey" + }, + { + "name" : "Kang-min Liu", + "drilldown" : "Kang-min Liu", + "y" : 4 + }, + { + "y" : 1, + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke" + }, + { + "drilldown" : "Nuno Vieira", + "name" : "Nuno Vieira", + "y" : 2 + }, + { + "name" : "Paulo Custodio", + "drilldown" : "Paulo Custodio", + "y" : 2 + }, + { + "y" : 2, + "drilldown" : "Pete Houston", + "name" : "Pete Houston" + }, + { + "drilldown" : "Philip Hood", + "name" : "Philip Hood", + "y" : 2 + }, + { + "y" : 5, + "drilldown" : "Roger Bell_West", + "name" : "Roger Bell_West" + }, + { + "y" : 3, + "name" : "Simon Green", + "drilldown" : "Simon Green" + }, + { + "name" : "Stuart Little", + "drilldown" : "Stuart Little", + "y" : 2 + }, + { + "drilldown" : "Ulrich Rieke", + "name" : "Ulrich Rieke", + "y" : 4 + }, + { + "y" : 3, + "drilldown" : "W. Luis Mochan", + "name" : "W. Luis Mochan" + } + ], + "name" : "Perl Weekly Challenge - 092" + } + ], "chart" : { "type" : "column" }, - "title" : { - "text" : "Perl Weekly Challenge - 092" - }, "drilldown" : { "series" : [ { - "name" : "Aaron Smith", "id" : "Aaron Smith", "data" : [ [ @@ -22,20 +164,30 @@ "Blog", 1 ] - ] + ], + "name" : "Aaron Smith" }, { + "id" : "Alexander Karelas", "data" : [ [ "Perl", 2 ] ], - "id" : "Alexander Pankoff", - "name" : "Alexander Pankoff" + "name" : "Alexander Karelas" + }, + { + "name" : "Alexander Pankoff", + "data" : [ + [ + "Perl", + 2 + ] + ], + "id" : "Alexander Pankoff" }, { - "id" : "Andrew Shitov", "data" : [ [ "Raku", @@ -46,6 +198,7 @@ 1 ] ], + "id" : "Andrew Shitov", "name" : "Andrew Shitov" }, { @@ -70,16 +223,16 @@ }, { "name" : "E. Choroba", - "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "E. Choroba" }, { - "id" : "Flavio Poletti", + "name" : "Flavio Poletti", "data" : [ [ "Perl", @@ -90,9 +243,11 @@ 2 ] ], - "name" : "Flavio Poletti" + "id" : "Flavio Poletti" }, { + "name" : "James Smith", + "id" : "James Smith", "data" : [ [ "Perl", @@ -102,29 +257,27 @@ "Blog", 1 ] - ], - "id" : "James Smith", - "name" : "James Smith" + ] }, { - "name" : "Jan Krnavek", + "id" : "Jan Krnavek", "data" : [ [ "Raku", 2 ] ], - "id" : "Jan Krnavek" + "name" : "Jan Krnavek" }, { + "name" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "id" : "Jorg Sommrey", - "name" : "Jorg Sommrey" + "id" : "Jorg Sommrey" }, { "name" : "Kang-min Liu", @@ -141,14 +294,14 @@ "id" : "Kang-min Liu" }, { - "name" : "Lubos Kolouch", "id" : "Lubos Kolouch", "data" : [ [ "Perl", 1 ] - ] + ], + "name" : "Lubos Kolouch" }, { "data" : [ @@ -162,23 +315,23 @@ }, { "name" : "Niels van Dijke", - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "id" : "Niels van Dijke" }, { - "name" : "Nuno Vieira", + "id" : "Nuno Vieira", "data" : [ [ "Perl", 2 ] ], - "id" : "Nuno Vieira" + "name" : "Nuno Vieira" }, { "data" : [ @@ -211,6 +364,8 @@ "id" : "Philip Hood" }, { + "name" : "Roger Bell_West", + "id" : "Roger Bell_West", "data" : [ [ "Perl", @@ -224,9 +379,7 @@ "Blog", 1 ] - ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + ] }, { "name" : "Simon Green", @@ -253,8 +406,6 @@ "name" : "Stuart Little" }, { - "name" : "Ulrich Rieke", - "id" : "Ulrich Rieke", "data" : [ [ "Perl", @@ -264,7 +415,9 @@ "Raku", 2 ] - ] + ], + "id" : "Ulrich Rieke", + "name" : "Ulrich Rieke" }, { "name" : "W. Luis Mochan", @@ -283,147 +436,9 @@ ] }, "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/>" - }, - "xAxis" : { - "type" : "category" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "format" : "{point.y}", - "enabled" : 1 - } - } - }, - "series" : [ - { - "colorByPoint" : 1, - "data" : [ - { - "y" : 3, - "name" : "Aaron Smith", - "drilldown" : "Aaron Smith" - }, - { - "y" : 2, - "name" : "Alexander Pankoff", - "drilldown" : "Alexander Pankoff" - }, - { - "y" : 2, - "name" : "Andrew Shitov", - "drilldown" : "Andrew Shitov" - }, - { - "name" : "Cheok-Yin Fung", - "y" : 2, - "drilldown" : "Cheok-Yin Fung" - }, - { - "name" : "Dave Jacoby", - "y" : 2, - "drilldown" : "Dave Jacoby" - }, - { - "name" : "E. Choroba", - "y" : 2, - "drilldown" : "E. Choroba" - }, - { - "name" : "Flavio Poletti", - "y" : 4, - "drilldown" : "Flavio Poletti" - }, - { - "y" : 3, - "name" : "James Smith", - "drilldown" : "James Smith" - }, - { - "y" : 2, - "name" : "Jan Krnavek", - "drilldown" : "Jan Krnavek" - }, - { - "drilldown" : "Jorg Sommrey", - "y" : 2, - "name" : "Jorg Sommrey" - }, - { - "y" : 4, - "name" : "Kang-min Liu", - "drilldown" : "Kang-min Liu" - }, - { - "drilldown" : "Lubos Kolouch", - "name" : "Lubos Kolouch", - "y" : 1 - }, - { - "drilldown" : "Mark Anderson", - "y" : 2, - "name" : "Mark Anderson" - }, - { - "name" : "Niels van Dijke", - "y" : 2, - "drilldown" : "Niels van Dijke" - }, - { - "drilldown" : "Nuno Vieira", - "name" : "Nuno Vieira", - "y" : 2 - }, - { - "drilldown" : "Paulo Custodio", - "name" : "Paulo Custodio", - "y" : 2 - }, - { - "y" : 2, - "name" : "Pete Houston", - "drilldown" : "Pete Houston" - }, - { - "drilldown" : "Philip Hood", - "y" : 2, - "name" : "Philip Hood" - }, - { - "name" : "Roger Bell_West", - "y" : 5, - "drilldown" : "Roger Bell_West" - }, - { - "name" : "Simon Green", - "y" : 3, - "drilldown" : "Simon Green" - }, - { - "name" : "Stuart Little", - "y" : 2, - "drilldown" : "Stuart Little" - }, - { - "y" : 4, - "name" : "Ulrich Rieke", - "drilldown" : "Ulrich Rieke" - }, - { - "drilldown" : "W. Luis Mochan", - "name" : "W. Luis Mochan", - "y" : 3 - } - ], - "name" : "Perl Weekly Challenge - 092" - } - ], - "legend" : { - "enabled" : 0 + "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/>" }, "yAxis" : { "title" : { diff --git a/stats/pwc-language-breakdown-summary.json b/stats/pwc-language-breakdown-summary.json index 0e256c23e7..51dc728777 100644 --- a/stats/pwc-language-breakdown-summary.json +++ b/stats/pwc-language-breakdown-summary.json @@ -2,6 +2,21 @@ "legend" : { "enabled" : "false" }, + "xAxis" : { + "type" : "category", + "labels" : { + "style" : { + "fontFamily" : "Verdana, sans-serif", + "fontSize" : "13px" + } + } + }, + "subtitle" : { + "text" : "Last updated at 2020-12-27 09:49:43 GMT" + }, + "title" : { + "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" + }, "yAxis" : { "min" : 0, "title" : { @@ -11,18 +26,24 @@ "tooltip" : { "pointFormat" : "<b>{point.y:.0f}</b>" }, - "xAxis" : { - "labels" : { - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - } - }, - "type" : "category" + "chart" : { + "type" : "column" }, "series" : [ { "name" : "Contributions", + "dataLabels" : { + "style" : { + "fontSize" : "13px", + "fontFamily" : "Verdana, sans-serif" + }, + "y" : 10, + "format" : "{point.y:.0f}", + "enabled" : "true", + "color" : "#FFFFFF", + "align" : "right", + "rotation" : -90 + }, "data" : [ [ "Blog", @@ -30,34 +51,13 @@ ], [ "Perl", - 4183 + 4185 ], [ "Raku", 2787 ] - ], - "dataLabels" : { - "y" : 10, - "style" : { - "fontSize" : "13px", - "fontFamily" : "Verdana, sans-serif" - }, - "color" : "#FFFFFF", - "enabled" : "true", - "align" : "right", - "format" : "{point.y:.0f}", - "rotation" : -90 - } + ] } - ], - "title" : { - "text" : "Perl Weekly Challenge Contributions [2019 - 2020]" - }, - "chart" : { - "type" : "column" - }, - "subtitle" : { - "text" : "Last updated at 2020-12-27 09:39:35 GMT" - } + ] } diff --git a/stats/pwc-language-breakdown.json b/stats/pwc-language-breakdown.json index 1a00b1f4ac..1a8776ef17 100644 --- a/stats/pwc-language-breakdown.json +++ b/stats/pwc-language-breakdown.json @@ -1,34 +1,16 @@ { - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } - }, - "xAxis" : { - "type" : "category" - }, - "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>" - }, "series" : [ { "name" : "Perl Weekly Challenge Languages", - "colorByPoint" : "true", "data" : [ { - "y" : 147, "name" : "#001", - "drilldown" : "001" + "drilldown" : "001", + "y" : 147 }, { - "drilldown" : "002", "y" : 116, + "drilldown" : "002", "name" : "#002" }, { @@ -37,154 +19,154 @@ "drilldown" : "003" }, { - "drilldown" : "004", "name" : "#004", + "drilldown" : "004", "y" : 93 }, { + "y" : 74, "drilldown" : "005", - "name" : "#005", - "y" : 74 + "name" : "#005" }, { - "drilldown" : "006", "y" : 54, - "name" : "#006" + "name" : "#006", + "drilldown" : "006" }, { - "name" : "#007", "y" : 61, - "drilldown" : "007" + "drilldown" : "007", + "name" : "#007" }, { - "y" : 74, + "drilldown" : "008", "name" : "#008", - "drilldown" : "008" + "y" : 74 }, { - "drilldown" : "009", + "y" : 72, "name" : "#009", - "y" : 72 + "drilldown" : "009" }, { + "drilldown" : "010", "name" : "#010", - "y" : 62, - "drilldown" : "010" + "y" : 62 }, { - "drilldown" : "011", "name" : "#011", + "drilldown" : "011", "y" : 81 }, { - "drilldown" : "012", "y" : 85, - "name" : "#012" + "name" : "#012", + "drilldown" : "012" }, { - "name" : "#013", "y" : 80, - "drilldown" : "013" + "drilldown" : "013", + "name" : "#013" }, { + "drilldown" : "014", "name" : "#014", - "y" : 98, - "drilldown" : "014" + "y" : 98 }, { + "name" : "#015", "drilldown" : "015", - "y" : 95, - "name" : "#015" + "y" : 95 }, { - "name" : "#016", "y" : 68, - "drilldown" : "016" + "drilldown" : "016", + "name" : "#016" }, { + "y" : 81, "drilldown" : "017", - "name" : "#017", - "y" : 81 + "name" : "#017" }, { - "drilldown" : "018", "y" : 78, - "name" : "#018" + "name" : "#018", + "drilldown" : "018" }, { "name" : "#019", - "y" : 99, - "drilldown" : "019" + "drilldown" : "019", + "y" : 99 }, { + "y" : 97, "drilldown" : "020", - "name" : "#020", - "y" : 97 + "name" : "#020" }, { - "y" : 69, "name" : "#021", - "drilldown" : "021" + "drilldown" : "021", + "y" : 69 }, { "drilldown" : "022", - "y" : 65, - "name" : "#022" + "name" : "#022", + "y" : 65 }, { + "name" : "#023", "drilldown" : "023", - "y" : 93, - "name" : "#023" + "y" : 93 }, { - "drilldown" : "024", "y" : 72, - "name" : "#024" + "name" : "#024", + "drilldown" : "024" }, { "drilldown" : "025", - "y" : 57, - "name" : "#025" + "name" : "#025", + "y" : 57 }, { "name" : "#026", - "y" : 72, - "drilldown" : "026" + "drilldown" : "026", + "y" : 72 }, { - "drilldown" : "027", "y" : 60, + "drilldown" : "027", "name" : "#027" }, { + "name" : "#028", "drilldown" : "028", - "y" : 80, - "name" : "#028" + "y" : 80 }, { + "drilldown" : "029", "name" : "#029", - "y" : 79, - "drilldown" : "029" + "y" : 79 }, { "y" : 117, - "name" : "#030", - "drilldown" : "030" + "drilldown" : "030", + "name" : "#030" }, { - "drilldown" : "031", "y" : 89, - "name" : "#031" + "name" : "#031", + "drilldown" : "031" }, { + "drilldown" : "032", "name" : "#032", - "y" : 94, - "drilldown" : "032" + "y" : 94 }, { + "y" : 110, "drilldown" : "033", - "name" : "#033", - "y" : 110 + "name" : "#033" }, { "drilldown" : "034", @@ -192,9 +174,9 @@ "y" : 64 }, { - "name" : "#035", "y" : 64, - "drilldown" : "035" + "drilldown" : "035", + "name" : "#035" }, { "y" : 68, @@ -202,13 +184,13 @@ "drilldown" : "036" }, { + "name" : "#037", "drilldown" : "037", - "y" : 67, - "name" : "#037" + "y" : 67 }, { - "drilldown" : "038", "y" : 67, + "drilldown" : "038", "name" : "#038" }, { @@ -217,29 +199,29 @@ "y" : 62 }, { - "drilldown" : "040", + "y" : 73, "name" : "#040", - "y" : 73 + "drilldown" : "040" }, { "drilldown" : "041", - "y" : 76, - "name" : "#041" + "name" : "#041", + "y" : 76 }, { - "drilldown" : "042", "y" : 90, - "name" : "#042" + "name" : "#042", + "drilldown" : "042" }, { - "drilldown" : "043", + "y" : 68, "name" : "#043", - "y" : 68 + "drilldown" : "043" }, { + "y" : 84, "drilldown" : "044", - "name" : "#044", - "y" : 84 + "name" : "#044" }, { "drilldown" : "045", @@ -253,58 +235,58 @@ }, { "drilldown" : "047", - "y" : 84, - "name" : "#047" + "name" : "#047", + "y" : 84 }, { - "y" : 108, + "drilldown" : "048", "name" : "#048", - "drilldown" : "048" + "y" : 108 }, { - "name" : "#049", "y" : 87, + "name" : "#049", "drilldown" : "049" }, { - "drilldown" : "050", "name" : "#050", + "drilldown" : "050", "y" : 98 }, { - "name" : "#051", "y" : 89, - "drilldown" : "051" + "drilldown" : "051", + "name" : "#051" }, { - "drilldown" : "052", + "y" : 91, "name" : "#052", - "y" : 91 + "drilldown" : "052" }, { "name" : "#053", - "y" : 101, - "drilldown" : "053" + "drilldown" : "053", + "y" : 101 }, { |
