diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-05-16 16:07:17 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2023-05-16 16:07:17 +0100 |
| commit | 7a7c6a53392171a59ee0846884971596ec975ff5 (patch) | |
| tree | 0c685aa65cbdd2f7af8191baf3bead86b1b8ab62 | |
| parent | c2627db4cc5ba2df9c76189901d439bd20bfcbf4 (diff) | |
| download | perlweeklychallenge-club-7a7c6a53392171a59ee0846884971596ec975ff5.tar.gz perlweeklychallenge-club-7a7c6a53392171a59ee0846884971596ec975ff5.tar.bz2 perlweeklychallenge-club-7a7c6a53392171a59ee0846884971596ec975ff5.zip | |
- Added solutions by Laurent Rosenfeld.
- Added solutions by Lubos Kolouch.
24 files changed, 2955 insertions, 2723 deletions
diff --git a/challenge-217/laurent-rosenfeld/blog.txt b/challenge-217/laurent-rosenfeld/blog.txt new file mode 100644 index 0000000000..c35a99c132 --- /dev/null +++ b/challenge-217/laurent-rosenfeld/blog.txt @@ -0,0 +1 @@ +https://blogs.perl.org/users/laurent_r/2023/05/perl-weekly-challenge-217-sorted-matrix-and-max-number.html diff --git a/challenge-217/laurent-rosenfeld/perl/ch-1.pl b/challenge-217/laurent-rosenfeld/perl/ch-1.pl new file mode 100644 index 0000000000..eeaf59521d --- /dev/null +++ b/challenge-217/laurent-rosenfeld/perl/ch-1.pl @@ -0,0 +1,14 @@ +use strict; +use warnings; +use feature 'say'; + +sub find_third_smallest { + return (sort { $a <=> $b } map { @$_ } @_)[2]; +} + +for my $test ( [ [3, 1, 2], [5, 2, 4], [0, 1, 3] ], + [ [2, 1], [4, 5] ], + [ [1, 0, 3], [0, 0, 0], [1, 2, 1] ] ) { + print map "[@$_] ", @$test; + say " => ", find_third_smallest @$test; +} diff --git a/challenge-217/laurent-rosenfeld/perl/ch-2.pl b/challenge-217/laurent-rosenfeld/perl/ch-2.pl new file mode 100644 index 0000000000..e1105c7a0e --- /dev/null +++ b/challenge-217/laurent-rosenfeld/perl/ch-2.pl @@ -0,0 +1,19 @@ +use strict; +use warnings; +use feature 'say'; + +sub mycmp { + my ($i, $j) = @_; + return $i.$j <=> $j.$i; +} + +sub reorder { + return join "", sort { mycmp ($b, $a) } @_; +} + +for my $test ([1, 23], [10, 3, 2], [31, 2, 4, 10], + [5, 11, 4, 1, 2], [1, 10], [10, 1], + [1, 10], [1, 100], [100, 1]) { + printf "%-15s => ", "@$test"; + say reorder @$test; +} diff --git a/challenge-217/laurent-rosenfeld/raku/ch-1.raku b/challenge-217/laurent-rosenfeld/raku/ch-1.raku new file mode 100644 index 0000000000..03f6340267 --- /dev/null +++ b/challenge-217/laurent-rosenfeld/raku/ch-1.raku @@ -0,0 +1,10 @@ +sub find-third-smallest (@matrix) { + return (flat map {.flat}, @matrix).sort[2]; +} + +for ([3, 1, 2], [5, 2, 4], [0, 1, 3]), + ([2, 1], [4, 5]), + ([1, 0, 3], [0, 0, 0], [1, 2, 1]) + -> @test { + say @test, " => ", find-third-smallest(@test); +} diff --git a/challenge-217/laurent-rosenfeld/raku/ch-2.raku b/challenge-217/laurent-rosenfeld/raku/ch-2.raku new file mode 100644 index 0000000000..34e2b627a4 --- /dev/null +++ b/challenge-217/laurent-rosenfeld/raku/ch-2.raku @@ -0,0 +1,22 @@ +sub infix:<myleg> ($a, $b) { + return $a leg $b if $a.chars == $b.chars; + if $a.chars > $b.chars { + my $c = substr $a, 0, $b.chars; + return $a leg $b if $c != $b; + return (substr $a, $b.chars + 1) leg $c ; + } else { + my $c = substr $b, 0, $a.chars; + return $a leg $b if $c != $a; + return $c leg (substr $b, $a.chars + 1); + } +} + +sub reorder (@in) { + return @in.sort({$^b myleg $^a}).join: ""; +} + +for (1, 23), (10, 3, 2), (31, 2, 4, 10), + (5, 11, 4, 1, 2), (1, 10), (10, 1), + (1, 10), (1, 100), (100, 1) -> @test { + say "@test[]".fmt("%-15s => "), reorder @test; +} diff --git a/challenge-217/robert-dicicco/julia/ch-2.jl b/challenge-217/robert-dicicco/julia/ch-2.jl new file mode 100644 index 0000000000..87fb6fe4b6 --- /dev/null +++ b/challenge-217/robert-dicicco/julia/ch-2.jl @@ -0,0 +1,52 @@ +#!/usr/bin/env julia +#= +--------------------------------------- +AUTHOR: Robert DiCicco +DATE : 2023-05-16 +Challenge 217 Max Number ( Julia ) +--------------------------------------- +=# +using Printf +using Combinatorics + +list = [[5,11,4,1,2],[31, 2, 4,10],[10,3,2],[1, 23],[1,10]]; +max = 0 + + +for lst in list + global max + @printf("Input: @list = %s\n",lst) + p = permutations(lst) + for item in p + val = join(item) + n = parse(Int64, val) + if n > max + max = n + end + end + @printf("Output: %d\n\n",max) + max = 0 +end + +#= +--------------------------------------- +SAMPLE OUTPUT +julia .\MaxNumber.jl +Input: @list = [5, 11, 4, 1, 2] +Output: 542111 + +Input: @list = [31, 2, 4, 10] +Output: 431210 + +Input: @list = [10, 3, 2] +Output: 3210 + +Input: @list = [1, 23] +Output: 231 + +Input: @list = [1, 10] +Output: 110 +--------------------------------------- +=# + + diff --git a/challenge-217/robert-dicicco/python/ch-2.py b/challenge-217/robert-dicicco/python/ch-2.py new file mode 100644 index 0000000000..d70489cd2e --- /dev/null +++ b/challenge-217/robert-dicicco/python/ch-2.py @@ -0,0 +1,46 @@ +#!/usr/bin/env python +# --------------------------------------- +# AUTHOR: Robert DiCicco +# DATE : 2023-05-16 +# Challenge 217 Max Number ( Python ) +# --------------------------------------- + +from itertools import permutations + + +mylist = [[5,11,4,1,2],[31, 2, 4,10],[10,3,2],[1, 23],[1,10]]; +max = 0 + +for lst in mylist: + print("Input: @list = ",lst) + perm = permutations(lst) + + for i in list(perm): + val = ''.join(str(element) for element in i) + val = int(val) + if val > max: + max = val + + print("Output: ",max,"\n") + max = 0 + +# --------------------------------------- +# SAMPLE OUTPUT +# python .\MaxNumber.py +# Input: @list = [5, 11, 4, 1, 2] +# Output: 542111 + +# Input: @list = [31, 2, 4, 10] +# Output: 431210 + +# Input: @list = [10, 3, 2] +# Output: 3210 + +# Input: @list = [1, 23] +# Output: 231 + +# Input: @list = [1, 10] +# Output: 110 +# --------------------------------------- + + diff --git a/stats/pwc-challenge-068.json b/stats/pwc-challenge-068.json index 2611c91838..7856aaac69 100644 --- a/stats/pwc-challenge-068.json +++ b/stats/pwc-challenge-068.json @@ -1,42 +1,168 @@ { + "series" : [ + { + "colorByPoint" : 1, + "data" : [ + { + "name" : "Andrew Shitov", + "drilldown" : "Andrew Shitov", + "y" : 2 + }, + { + "drilldown" : "Arne Sommer", + "y" : 5, + "name" : "Arne Sommer" + }, + { + "name" : "Athanasius", + "drilldown" : "Athanasius", + "y" : 4 + }, + { + "y" : 2, + "drilldown" : "Bartosz Jarzyna", + "name" : "Bartosz Jarzyna" + }, + { + "y" : 1, + "drilldown" : "Cheok-Yin Fung", + "name" : "Cheok-Yin Fung" + }, + { + "y" : 5, + "drilldown" : "Colin Crain", + "name" : "Colin Crain" + }, + { + "drilldown" : "E. Choroba", + "y" : 2, + "name" : "E. Choroba" + }, + { + "y" : 5, + "drilldown" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" + }, + { + "name" : "Javier Luque", + "drilldown" : "Javier Luque", + "y" : 5 + }, + { + "drilldown" : "Jorg Sommrey", + "y" : 2, + "name" : "Jorg Sommrey" + }, + { + "y" : 3, + "drilldown" : "Laurent Rosenfeld", + "name" : "Laurent Rosenfeld" + }, + { + "y" : 2, + "drilldown" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "name" : "Luca Ferrari", + "drilldown" : "Luca Ferrari", + "y" : 4 + }, + { + "y" : 1, + "drilldown" : "Mark Anderson", + "name" : "Mark Anderson" + }, + { + "drilldown" : "Mohammad S Anwar", + "y" : 7, + "name" : "Mohammad S Anwar" + }, + { + "drilldown" : "Myoungjin Jeon", + "y" : 4, + "name" : "Myoungjin Jeon" + }, + { + "y" : 2, + "drilldown" : "Niels van Dijke", + "name" : "Niels van Dijke" + }, + { + "name" : "Noud Aldenhoven", + "y" : 2, + "drilldown" : "Noud Aldenhoven" + }, + { + "name" : "Paulo Custodio", + "y" : 2, + "drilldown" : "Paulo Custodio" + }, + { + "name" : "Roger Bell_West", + "y" : 3, + "drilldown" : "Roger Bell_West" + }, + { + "name" : "Shahed Nooshmand", + "drilldown" : "Shahed Nooshmand", + "y" : 3 + }, + { + "y" : 2, + "drilldown" : "Simon Green", + "name" : "Simon Green" + }, + { + "y" : 2, + "drilldown" : "Simon Proctor", + "name" : "Simon Proctor" + }, + { + "name" : "Stuart Little", + "drilldown" : "Stuart Little", + "y" : 2 + }, + { + "name" : "Ulrich Rieke", + "drilldown" : "Ulrich Rieke", + "y" : 3 + }, + { + "name" : "Walt Mankowski", + "drilldown" : "Walt Mankowski", + "y" : 2 + }, + { + "name" : "Wanderdoc", + "drilldown" : "Wanderdoc", + "y" : 2 + } + ], + "name" : "The Weekly Challenge - 068" + } + ], + "xAxis" : { + "type" : "category" + }, + "title" : { + "text" : "The Weekly Challenge - 068" + }, "chart" : { "type" : "column" }, - "tooltip" : { - "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/>", - "followPointer" : 1 - }, "yAxis" : { "title" : { "text" : "Total Solutions" } }, - "legend" : { - "enabled" : 0 - }, "subtitle" : { - "text" : "[Champions: 26] Last updated at 2022-04-20 12:40:31 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge - 068" - }, - "plotOptions" : { - "series" : { - "borderWidth" : 0, - "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" - } - } + "text" : "[Champions: 27] Last updated at 2023-05-16 14:56:42 GMT" }, "drilldown" : { "series" : [ { - "id" : "Andrew Shitov", + "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -47,10 +173,9 @@ 1 ] ], - "name" : "Andrew Shitov" + "id" : "Andrew Shitov" }, { - "name" : "Arne Sommer", "id" : "Arne Sommer", "data" : [ [ @@ -65,10 +190,11 @@ "Blog", 1 ] - ] + ], + "name" : "Arne Sommer" }, { - "name" : "Athanasius", + "id" : "Athanasius", "data" : [ [ "Perl", @@ -79,27 +205,27 @@ 2 ] ], - "id" : "Athanasius" + "name" : "Athanasius" }, { + "id" : "Bartosz Jarzyna", "data" : [ [ "Perl", 2 ] ], - "id" : "Bartosz Jarzyna", "name" : "Bartosz Jarzyna" }, { "name" : "Cheok-Yin Fung", - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Cheok-Yin Fung" }, { "name" : "Colin Crain", @@ -120,16 +246,18 @@ "id" : "Colin Crain" }, { - "id" : "E. Choroba", "data" : [ [ "Perl", 2 ] ], - "name" : "E. Choroba" + "name" : "E. Choroba", + "id" : "E. Choroba" }, { + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas", "data" : [ [ "Perl", @@ -143,11 +271,10 @@ "Blog", 1 ] - ], - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas" + ] }, { + "id" : "Javier Luque", "data" : [ [ "Perl", @@ -162,22 +289,20 @@ 1 ] ], - "id" : "Javier Luque", "name" : "Javier Luque" }, { + "id" : "Jorg Sommrey", "data" : [ [ "Perl", 2 ] ], - "id" : "Jorg Sommrey", "name" : "Jorg Sommrey" }, { "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", "data" : [ [ "Perl", @@ -191,7 +316,18 @@ "Blog", 1 ] - ] + ], + "id" : "Laurent Rosenfeld" + }, + { + "data" : [ + [ + "Perl", + 2 + ] + ], + "name" : "Lubos Kolouch", + "id" : "Lubos Kolouch" }, { "id" : "Luca Ferrari", @@ -208,8 +344,8 @@ "name" : "Luca Ferrari" }, { - "name" : "Mark Anderson", "id" : "Mark Anderson", + "name" : "Mark Anderson", "data" : [ [ "Raku", @@ -218,6 +354,8 @@ ] }, { + "id" : "Mohammad S Anwar", + "name" : "Mohammad S Anwar", "data" : [ [ "Perl", @@ -231,12 +369,10 @@ "Blog", 3 ] - ], - "id" : "Mohammad S Anwar", - "name" : "Mohammad S Anwar" + ] }, { - "id" : "Myoungjin Jeon", + "name" : "Myoungjin Jeon", "data" : [ [ "Perl", @@ -247,37 +383,37 @@ 2 ] ], - "name" : "Myoungjin Jeon" + "id" : "Myoungjin Jeon" }, { - "name" : "Niels van Dijke", - "id" : "Niels van Dijke", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Niels van Dijke", + "id" : "Niels van Dijke" }, { + "id" : "Noud Aldenhoven", "name" : "Noud Aldenhoven", "data" : [ [ "Raku", 2 ] - ], - "id" : "Noud Aldenhoven" + ] }, { + "id" : "Paulo Custodio", "name" : "Paulo Custodio", "data" : [ [ "Perl", 2 ] - ], - "id" : "Paulo Custodio" + ] }, { "data" : [ @@ -290,8 +426,8 @@ 1 ] ], - "id" : "Roger Bell_West", - "name" : "Roger Bell_West" + "name" : "Roger Bell_West", + "id" : "Roger Bell_West" }, { "name" : "Shahed Nooshmand", @@ -308,36 +444,37 @@ "id" : "Shahed Nooshmand" }, { - "name" : "Simon Green", "id" : "Simon Green", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Simon Green" }, { + "name" : "Simon Proctor", "data" : [ [ "Raku", 2 ] ], - "id" : "Simon Proctor", - "name" : "Simon Proctor" + "id" : "Simon Proctor" }, { - "id" : "Stuart Little", "data" : [ [ "Raku", 2 ] ], - "name" : "Stuart Little" + "name" : "Stuart Little", + "id" : "Stuart Little" }, { + "id" : "Ulrich Rieke", "name" : "Ulrich Rieke", "data" : [ [ @@ -348,12 +485,11 @@ "Raku", 2 ] - ], - "id" : "Ulrich Rieke" + ] }, { - "name" : "Walt Mankowski", "id" : "Walt Mankowski", + "name" : "Walt Mankowski", "data" : [ [ "Perl", @@ -373,142 +509,21 @@ } ] }, - "series" : [ - { - "name" : "The Weekly Challenge - 068", - "data" : [ - { - "y" : 2, - "drilldown" : "Andrew Shitov", - "name" : "Andrew Shitov" - }, - { - "name" : "Arne Sommer", - "drilldown" : "Arne Sommer", - "y" : 5 - }, - { - "name" : "Athanasius", - "drilldown" : "Athanasius", - "y" : 4 - }, - { - "drilldown" : "Bartosz Jarzyna", - "y" : 2, - "name" : "Bartosz Jarzyna" - }, - { - "name" : "Cheok-Yin Fung", - "y" : 1, - "drilldown" : "Cheok-Yin Fung" - }, - { - "y" : 5, - "drilldown" : "Colin Crain", - "name" : "Colin Crain" - }, - { - "drilldown" : "E. Choroba", - "y" : 2, - "name" : "E. Choroba" - }, - { - "name" : "Jaldhar H. Vyas", - "y" : 5, - "drilldown" : "Jaldhar H. Vyas" - }, - { - "name" : "Javier Luque", - "drilldown" : "Javier Luque", - "y" : 5 - }, - { - "name" : "Jorg Sommrey", - "drilldown" : "Jorg Sommrey", - "y" : 2 - }, - { - "drilldown" : "Laurent Rosenfeld", - "y" : 3, - "name" : "Laurent Rosenfeld" - }, - { - "y" : 4, - "drilldown" : "Luca Ferrari", - "name" : "Luca Ferrari" - }, - { - "drilldown" : "Mark Anderson", - "y" : 1, - "name" : "Mark Anderson" - }, - { - "drilldown" : "Mohammad S Anwar", - "y" : 7, - "name" : "Mohammad S Anwar" - }, - { - "drilldown" : "Myoungjin Jeon", - "y" : 4, - "name" : "Myoungjin Jeon" - }, - { - "drilldown" : "Niels van Dijke", - "y" : 2, - "name" : "Niels van Dijke" - }, - { - "name" : "Noud Aldenhoven", - "drilldown" : "Noud Aldenhoven", - "y" : 2 - }, - { - "y" : 2, - "drilldown" : "Paulo Custodio", - "name" : "Paulo Custodio" - }, - { - "name" : "Roger Bell_West", - "drilldown" : "Roger Bell_West", - "y" : 3 - }, - { - "drilldown" : "Shahed Nooshmand", - "y" : 3, - "name" : "Shahed Nooshmand" - }, - { - "drilldown" : "Simon Green", - "y" : 2, - "name" : "Simon Green" - }, - { - "name" : "Simon Proctor", - "drilldown" : "Simon Proctor", - "y" : 2 - }, - { - "name" : "Stuart Little", - "drilldown" : "Stuart Little", - "y" : 2 - }, - { - "name" : "Ulrich Rieke", - "y" : 3, - "drilldown" : "Ulrich Rieke" - }, - { - "drilldown" : "Walt Mankowski", - "y" : 2, - "name" : "Walt Mankowski" - }, - { - "name" : "Wanderdoc", - "drilldown" : "Wanderdoc", - "y" : 2 - } - ], - "colorByPoint" : 1 + "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/>" + }, + "plotOptions" : { + "series" : { + "dataLabels" : { + "format" : "{point.y}", + "enabled" : 1 + }, + "borderWidth" : 0 } - ] + }, + "legend" : { + "enabled" : 0 + } } diff --git a/stats/pwc-challenge-069.json b/stats/pwc-challenge-069.json index 1367e50575..e7d0180e81 100644 --- a/stats/pwc-challenge-069.json +++ b/stats/pwc-challenge-069.json @@ -1,42 +1,20 @@ { - "chart" : { - "type" : "column" - }, - "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/>" - }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } - }, "legend" : { "enabled" : 0 }, - "subtitle" : { - "text" : "[Champions: 29] Last updated at 2022-04-20 12:40:31 GMT" - }, - "xAxis" : { - "type" : "category" - }, - "title" : { - "text" : "The Weekly Challenge - 069" - }, "plotOptions" : { "series" : { + "borderWidth" : 0, "dataLabels" : { "enabled" : 1, "format" : "{point.y}" - }, - "borderWidth" : 0 + } } }, "drilldown" : { "series" : [ { - "id" : "Andrew Shitov", + "name" : "Andrew Shitov", "data" : [ [ "Raku", @@ -47,10 +25,11 @@ 3 ] ], - "name" : "Andrew Shitov" + "id" : "Andrew Shitov" }, { "id" : "Arne Sommer", + "name" : "Arne Sommer", "data" : [ [ "Perl", @@ -64,11 +43,9 @@ "Blog", 1 ] - ], - "name" : "Arne Sommer" + ] }, { - "name" : "Athanasius", "id" : "Athanasius", "data" : [ [ @@ -79,30 +56,31 @@ "Raku", 2 ] - ] + ], + "name" : "Athanasius" }, { "name" : "Bartosz Jarzyna", - "id" : "Bartosz Jarzyna", "data" : [ [ "Perl", 1 ] - ] + ], + "id" : "Bartosz Jarzyna" }, { - "name" : "Cheok-Yin Fung", - "id" : "Cheok-Yin Fung", "data" : [ [ "Perl", 2 ] - ] + ], + "name" : "Cheok-Yin Fung", + "id" : "Cheok-Yin Fung" }, { - "name" : "Colin Crain", + "id" : "Colin Crain", "data" : [ [ "Perl", @@ -117,37 +95,37 @@ 1 ] ], - "id" : "Colin Crain" + "name" : "Colin Crain" }, { - "name" : "Dave Jacoby", + "id" : "Dave Jacoby", "data" : [ [ "Perl", 2 ] ], - "id" : "Dave Jacoby" + "name" : "Dave Jacoby" }, { + "id" : "Duncan C |
