diff options
| author | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-07-29 14:26:20 +0100 |
|---|---|---|
| committer | Mohammad S Anwar <mohammad.anwar@yahoo.com> | 2019-07-29 14:26:20 +0100 |
| commit | ef7d846c7416907a94b25b28a4642bfb9fbbc361 (patch) | |
| tree | 312df8e5e51b5645d790fd7017b4a460cc0b607b | |
| parent | f309b17f1652cb9911793d5aad3cf68369769719 (diff) | |
| download | perlweeklychallenge-club-ef7d846c7416907a94b25b28a4642bfb9fbbc361.tar.gz perlweeklychallenge-club-ef7d846c7416907a94b25b28a4642bfb9fbbc361.tar.bz2 perlweeklychallenge-club-ef7d846c7416907a94b25b28a4642bfb9fbbc361.zip | |
- Added solutions by Lubos Kolouch.
| -rw-r--r-- | challenge-019/lubos-kolouch/perl5/ch-1.pl | 68 | ||||
| -rw-r--r-- | challenge-019/lubos-kolouch/perl5/ch-2.pl | 60 | ||||
| -rw-r--r-- | stats/pwc-challenge-018.json | 531 | ||||
| -rw-r--r-- | stats/pwc-current.json | 542 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown-summary.json | 42 | ||||
| -rw-r--r-- | stats/pwc-language-breakdown.json | 349 | ||||
| -rw-r--r-- | stats/pwc-leaders.json | 868 | ||||
| -rw-r--r-- | stats/pwc-master-stats.json | 118 | ||||
| -rw-r--r-- | stats/pwc-summary-1-30.json | 96 | ||||
| -rw-r--r-- | stats/pwc-summary-31-60.json | 46 | ||||
| -rw-r--r-- | stats/pwc-summary-61-90.json | 88 | ||||
| -rw-r--r-- | stats/pwc-summary-91-120.json | 42 | ||||
| -rw-r--r-- | stats/pwc-summary.json | 52 |
13 files changed, 1560 insertions, 1342 deletions
diff --git a/challenge-019/lubos-kolouch/perl5/ch-1.pl b/challenge-019/lubos-kolouch/perl5/ch-1.pl new file mode 100644 index 0000000000..282033d7ee --- /dev/null +++ b/challenge-019/lubos-kolouch/perl5/ch-1.pl @@ -0,0 +1,68 @@ +#!/usr/bin/perl +#=============================================================================== +# +# FILE: ch-1.pl +# +# USAGE: ./ch-1.pl +# +# DESCRIPTION: Task #1 +# +# Task #1 +# Write a script to display months from the year 1900 to 2019 where you find 5 weekends i.e. 5 Friday, 5 Saturday and 5 Sunday. +# +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Lubos Kolouch, +# ORGANIZATION: +# VERSION: 1.0 +# CREATED: 07/29/2019 08:48:27 PM +# REVISION: --- +#=============================================================================== + +use strict; +use warnings; +use feature qw{ say }; +use Data::Dumper; +use Date::Calc qw/check_date Day_of_Week Days_in_Month/; + +sub has_5_weekends { + my ( $year, $month ) = @_; + + my $days = Days_in_Month( $year, $month ); + + my %wdays; + + for my $day ( 1 .. $days ) { + $wdays{ Day_of_Week( $year, $month, $day ) }++; + } + + return 1 if ( $wdays{5} == 5 ) and ( $wdays{6} == 5 ) and ( $wdays{7} == 5 ); + + return 0; +} + +###### MAIN ###### + +my $count; + +for my $year ( 1900 .. 2019 ) { + for my $month ( 1 .. 12 ) { + $count++ if has_5_weekends( $year, $month ); + } + +} + +say "There are $count months"; +###### TESTS ###### + +use Test::More; + +say 'TESTS:'; + +is( has_5_weekends( 2019, 7 ), 0, 'Test 2019/07' ); +is( has_5_weekends( 2019, 3 ), 1, 'Test 2019/03' ); + +done_testing; diff --git a/challenge-019/lubos-kolouch/perl5/ch-2.pl b/challenge-019/lubos-kolouch/perl5/ch-2.pl new file mode 100644 index 0000000000..eab51b40b1 --- /dev/null +++ b/challenge-019/lubos-kolouch/perl5/ch-2.pl @@ -0,0 +1,60 @@ +#!/usr/bin/perl +#=============================================================================== +# +# FILE: ch-2.pl +# +# USAGE: ./ch-2.pl +# +# DESCRIPTION: Task #2 +# +# Task #2 +# Write a script that can wrap the given paragraph at a specified column using the [greedy +# algorithm](https://en.wikipedia.org/wiki/Line_wrap_and_word_wrap#Minimum_number_of_lines). +# +# +# OPTIONS: --- +# REQUIREMENTS: --- +# BUGS: --- +# NOTES: --- +# AUTHOR: Lubos Kolouch, +# ORGANIZATION: +# VERSION: 1.0 +# CREATED: 07/29/2019 08:48:27 PM +# REVISION: --- +#=============================================================================== + +use strict; +use warnings; +use feature qw{ say }; + +###### MAIN ###### +my ( $width, @words ) = @ARGV; + +$width or die 'Usage: script width text'; +@words or die 'Usage: script width text'; + +die 'Usage: script width(numeric!) text' unless $width =~ /\d+/msx; + +my $space_left = $width; + +for my $word (@words) { + my $len = length($word); + + if ( $len + 1 > $space_left ) { + print "\n"; + $space_left = $width - $len; + } + else { + $space_left -= $len; + } + + print "$word "; +} + +say qq//; +###### TESTS ###### + +use Test::More; + +say 'NO TESTS THIS TIME'; +done_testing; diff --git a/stats/pwc-challenge-018.json b/stats/pwc-challenge-018.json new file mode 100644 index 0000000000..be54eddd72 --- /dev/null +++ b/stats/pwc-challenge-018.json @@ -0,0 +1,531 @@ +{ + "plotOptions" : { + "series" : { + "borderWidth" : 0, + "dataLabels" : { + "enabled" : 1, + "format" : "{point.y}" + } + } + }, + "yAxis" : { + "title" : { + "text" : "Total Solutions" + } + }, + "legend" : { + "enabled" : 0 + }, + "drilldown" : { + "series" : [ + { + "name" : "Adam Russell", + "id" : "Adam Russell", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Blog", + 1 + ] + ] + }, + { + "name" : "Andrezgz", + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "id" : "Andrezgz" + }, + { + "id" : "Arne Sommer", + "data" : [ + [ + "Perl 6", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Arne Sommer" + }, + { + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Perl 6", + 2 + ] + ], + "id" : "Athanasius", + "name" : "Athanasius" + }, + { + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "id" : "Daniel Mantovani", + "name" : "Daniel Mantovani" + }, + { + "name" : "Duane Powell", + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "id" : "Duane Powell" + }, + { + "id" : "Duncan C. White", + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "name" : "Duncan C. White" + }, + { + "name" : "E. Choroba", + "id" : "E. Choroba", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Blog", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl 6", + 2 + ] + ], + "id" : "Feng Chang", + "name" : "Feng Chang" + }, + { + "name" : "Francis Whittle", + "data" : [ + [ + "Perl 6", + 2 + ] + ], + "id" : "Francis Whittle" + }, + { + "name" : "Jaime Corchado", + "id" : "Jaime Corchado", + "data" : [ + [ + "Perl 5", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl 5", + 1 + ], + [ + "Perl 6", + 1 + ] + ], + "id" : "Jaldhar H. Vyas", + "name" : "Jaldhar H. Vyas" + }, + { + "name" : "Joelle Maslak", + "id" : "Joelle Maslak", + "data" : [ + [ + "Perl 5", + 3 + ], + [ + "Perl 6", + 3 + ] + ] + }, + { + "data" : [ + [ + "Perl 6", + 1 + ] + ], + "id" : "Kevin Colyer", + "name" : "Kevin Colyer" + }, + { + "data" : [ + [ + "Perl 5", + 1 + ] + ], + "id" : "Kian-Meng Ang", + "name" : "Kian-Meng Ang" + }, + { + "name" : "Laurent Rosenfeld", + "id" : "Laurent Rosenfeld", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Perl 6", + 2 + ], + [ + "Blog", + 2 + ] + ] + }, + { + "data" : [ + [ + "Perl 5", + 2 + ] + ], + "id" : "Lubos Kolouch", + "name" : "Lubos Kolouch" + }, + { + "name" : "Mark Anderson", + "data" : [ + [ + "Perl 5", + 1 + ] + ], + "id" : "Mark Anderson" + }, + { + "name" : "Mark Senn", + "data" : [ + [ + "Perl 6", + 2 + ], + [ + "Blog", + 1 + ] + ], + "id" : "Mark Senn" + }, + { + "name" : "Martin Barth", + "data" : [ + [ + "Perl 6", + 1 + ] + ], + "id" : "Martin Barth" + }, + { + "name" : "Noud", + "id" : "Noud", + "data" : [ + [ + "Perl 6", + 2 + ] + ] + }, + { + "name" : "Ozzy", + "id" : "Ozzy", + "data" : [ + [ + "Perl 6", + 1 + ] + ] + }, + { + "id" : "Randy Lauen", + "data" : [ + [ + "Perl 6", + 2 + ] + ], + "name" : "Randy Lauen" + }, + { + "id" : "Roger Bell West", + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Blog", + 1 + ] + ], + "name" : "Roger Bell West" + }, + { + "data" : [ + [ + "Perl 5", + 2 + ], + [ + "Perl 6", + 2 + ] + ], + "id" : "Ruben Westerberg", + "name" : "Ruben Westerberg" + }, + { + "name" : "Simon Proctor", + "id" : "Simon Proctor", + "data" : [ + [ + "Perl 6", + 2 + ] + ] + }, + { + "name" : "Steven Wilson", + "data" : [ + [ + "Perl 5", + 1 + ] + ], + "id" : "Steven Wilson" + }, + { + "data" : [ + [ + "Perl 6", + 1 + ] + ], + "id" : "Veesh Goldman", + "name" : "Veesh Goldman" + }, + { + "data" : [ + [ + "Perl 5", + 1 + ], + [ + "Blog", + 2 + ] + ], + "id" : "Yozen Hernandez", + "name" : "Yozen Hernandez" + } + ] + }, + "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 + }, + "chart" : { + "type" : "column" + }, + "title" : { + "text" : "Perl Weekly Challenge - 018" + }, + "series" : [ + { + "data" : [ + { + "y" : 3, + "name" : "Adam Russell", + "drilldown" : "Adam Russell" + }, + { + "drilldown" : "Andrezgz", + "y" : 2, + "name" : "Andrezgz" + }, + { + "drilldown" : "Arne Sommer", + "name" : "Arne Sommer", + "y" : 3 + }, + { + "name" : "Athanasius", + "y" : 4, + "drilldown" : "Athanasius" + }, + { + "name" : "Daniel Mantovani", + "y" : 2, + "drilldown" : "Daniel Mantovani" + }, + { + "drilldown" : "Duane Powell", + "y" : 2, + "name" : "Duane Powell" + }, + { + "y" : 2, + "name" : "Duncan C. White", + "drilldown" : "Duncan C. White" + }, + { + "drilldown" : "E. Choroba", + "y" : 4, + "name" : "E. Choroba" + }, + { + "drilldown" : "Feng Chang", + "y" : 2, + "name" : "Feng Chang" + }, + { + "drilldown" : "Francis Whittle", + "name" : "Francis Whittle", + "y" : 2 + }, + { + "name" : "Jaime Corchado", + "y" : 2, + "drilldown" : "Jaime Corchado" + }, + { + "drilldown" : "Jaldhar H. Vyas", + "y" : 2, + "name" : "Jaldhar H. Vyas" + }, + { + "drilldown" : "Joelle Maslak", + "y" : 6, + "name" : "Joelle Maslak" + }, + { + "y" : 1, + "name" : "Kevin Colyer", + "drilldown" : "Kevin Colyer" + }, + { + "drilldown" : "Kian-Meng Ang", + "name" : "Kian-Meng Ang", + "y" : 1 + }, + { + "name" : "Laurent Rosenfeld", + "y" : 6, + "drilldown" : "Laurent Rosenfeld" + }, + { + "drilldown" : "Lubos Kolouch", + "y" : 2, + "name" : "Lubos Kolouch" + }, + { + "drilldown" : "Mark Anderson", + "y" : 1, + "name" : "Mark Anderson" + }, + { + "drilldown" : "Mark Senn", + "name" : "Mark Senn", + "y" : 3 + }, + { + "y" : 1, + "name" : "Martin Barth", + "drilldown" : "Martin Barth" + }, + { + "drilldown" : "Noud", + "y" : 2, + "name" : "Noud" + }, + { + "y" : 1, + "name" : "Ozzy", + "drilldown" : "Ozzy" + }, + { + "drilldown" : "Randy Lauen", + "name" : "Randy Lauen", + "y" : 2 + }, + { + "drilldown" : "Roger Bell West", + "name" : "Roger Bell West", + "y" : 3 + }, + { + "name" : "Ruben Westerberg", + "y" : 4, + "drilldown" : "Ruben Westerberg" + }, + { + "drilldown" : "Simon Proctor", + "y" : 2, + "name" : "Simon Proctor" + }, + { + "y" : 1, + "name" : "Steven Wilson", + "drilldown" : "Steven Wilson" + }, + { + "y" : 1, + "name" : "Veesh Goldman", + "drilldown" : "Veesh Goldman" + }, + { + "drilldown" : "Yozen Hernandez", + "name" : "Yozen Hernandez", + "y" : 3 + } + ], + "colorByPoint" : 1, + "name" : "Perl Weekly Challenge - 018" + } + ], + "subtitle" : { + "text" : "[Champions: 29] Last updated at 2019-07-28 23:47:44 GMT" + }, + "xAxis" : { + "type" : "category" + } +} diff --git a/stats/pwc-current.json b/stats/pwc-current.json index be54eddd72..f0fd9f7538 100644 --- a/stats/pwc-current.json +++ b/stats/pwc-current.json @@ -1,216 +1,51 @@ { + "series" : [ + { + "name" : "Perl Weekly Challenge - 019", + "data" : [ + { + "name" : "Lubos Kolouch", + "y" : 2, + "drilldown" : "Lubos Kolouch" + } + ], + "colorByPoint" : 1 + } + ], + "title" : { + "text" : "Perl Weekly Challenge - 019" + }, + "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/>" + }, "plotOptions" : { "series" : { "borderWidth" : 0, "dataLabels" : { - "enabled" : 1, - "format" : "{point.y}" + "format" : "{point.y}", + "enabled" : 1 } } }, - "yAxis" : { - "title" : { - "text" : "Total Solutions" - } + "xAxis" : { + "type" : "category" }, - "legend" : { - "enabled" : 0 + "subtitle" : { + "text" : "[Champions: 1] Last updated at 2019-07-29 13:25:54 GMT" + }, + "chart" : { + "type" : "column" }, "drilldown" : { "series" : [ { - "name" : "Adam Russell", - "id" : "Adam Russell", - "data" : [ - [ - "Perl 5", - 2 - ], - [ - "Blog", - 1 - ] - ] - }, - { - "name" : "Andrezgz", - "data" : [ - [ - "Perl 5", - 2 - ] - ], - "id" : "Andrezgz" - }, - { - "id" : "Arne Sommer", - "data" : [ - [ - "Perl 6", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Arne Sommer" - }, - { - "data" : [ - [ - "Perl 5", - 2 - ], - [ - "Perl 6", - 2 - ] - ], - "id" : "Athanasius", - "name" : "Athanasius" - }, - { - "data" : [ - [ - "Perl 5", - 2 - ] - ], - "id" : "Daniel Mantovani", - "name" : "Daniel Mantovani" - }, - { - "name" : "Duane Powell", - "data" : [ - [ - "Perl 5", - 2 - ] - ], - "id" : "Duane Powell" - }, - { - "id" : "Duncan C. White", - "data" : [ - [ - "Perl 5", - 2 - ] - ], - "name" : "Duncan C. White" - }, - { - "name" : "E. Choroba", - "id" : "E. Choroba", - "data" : [ - [ - "Perl 5", - 2 - ], - [ - "Blog", - 2 - ] - ] - }, - { - "data" : [ - [ - "Perl 6", - 2 - ] - ], - "id" : "Feng Chang", - "name" : "Feng Chang" - }, - { - "name" : "Francis Whittle", - "data" : [ - [ - "Perl 6", - 2 - ] - ], - "id" : "Francis Whittle" - }, - { - "name" : "Jaime Corchado", - "id" : "Jaime Corchado", - "data" : [ - [ - "Perl 5", - 2 - ] - ] - }, - { - "data" : [ - [ - "Perl 5", - 1 - ], - [ - "Perl 6", - 1 - ] - ], - "id" : "Jaldhar H. Vyas", - "name" : "Jaldhar H. Vyas" - }, - { - "name" : "Joelle Maslak", - "id" : "Joelle Maslak", - "data" : [ - [ - "Perl 5", - 3 - ], - [ - "Perl 6", - 3 - ] - ] - }, - { - "data" : [ - [ - "Perl 6", - 1 - ] - ], - "id" : "Kevin Colyer", - "name" : "Kevin Colyer" - }, - { - "data" : [ - [ - "Perl 5", - 1 - ] - ], - "id" : "Kian-Meng Ang", - "name" : "Kian-Meng Ang" - }, - { - "name" : "Laurent Rosenfeld", - "id" : "Laurent Rosenfeld", - "data" : [ - [ - "Perl 5", - 2 - ], - [ - "Perl 6", - 2 - ], - [ - "Blog", - 2 - ] - ] - }, - { "data" : [ [ "Perl 5", @@ -219,313 +54,10 @@ ], "id" : "Lubos Kolouch", "name" : "Lubos Kolouch" - }, - { - "name" : "Mark Anderson", - "data" : [ - [ - "Perl 5", - 1 - ] - ], - "id" : "Mark Anderson" - }, - { - "name" : "Mark Senn", - "data" : [ - [ - "Perl 6", - 2 - ], - [ - "Blog", - 1 - ] - ], - "id" : "Mark Senn" - }, - { - "name" : "Martin Barth", - "data" : [ - [ - "Perl 6", - 1 - ] - ], - "id" : "Martin Barth" - }, - { - "name" : "Noud", - "id" : "Noud", - "data" : [ - [ - "Perl 6", - 2 - ] - ] - }, - { - "name" : "Ozzy", - "id" : "Ozzy", - "data" : [ - [ - "Perl 6", - 1 - ] - ] - }, - { - "id" : "Randy Lauen", - "data" : [ - [ - "Perl 6", - 2 - ] - ], - "name" : "Randy Lauen" - }, - { - "id" : "Roger Bell West", - "data" : [ - [ - "Perl 5", - 2 - ], - [ - "Blog", - 1 - ] - ], - "name" : "Roger Bell West" - }, - { - "data" : [ - [ - "Perl 5", - 2 - ], - [ - "Perl 6", - 2 - ] - ], - "id" : "Ruben Westerberg", - "name" : "Ruben Westerberg" - }, - { - "name" : "Simon Proctor", - "id" : "Simon Proctor", - "data" : [ - [ - "Perl 6", - 2 - ] - ] - }, - { - "name" : "Steven Wilson", - "data" : [ - [ - "Perl 5", - 1 - ] - ], - "id" : "Steven Wilson" - }, - { - "data" : [ - [ - "Perl 6", - 1 - ] - ], - "id" : "Veesh Goldman", - "name" : "Veesh Goldman" - }, - { - "data" : [ - [ - "Perl 5", - 1 - ], - [ - "Blog", - 2 - ] - ], - "id" : "Yozen Hernandez", - "name" : "Yozen Hernandez" } ] }, - "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 - }, - "chart" : { - "type" : "column" - }, - "title" : { - "text" : "Perl Weekly Challenge - 018" - }, - "series" : [ - { - "data" : [ - { - "y" : 3, - "name" : "Adam Russell", - "drilldown" : "Adam Russell" - }, - { - "drilldown" : "Andrezgz", - "y" : 2, - "name" : "Andrezgz" - }, - { - "drilldown" : "Arne Sommer", - "name" : "Arne Sommer", - "y" : 3 - }, - { - "name" : "Athanasius", - "y" : 4, - "drilldown" : "Athanasius" - }, - { - "name" : "Daniel Mantovani", - "y" : 2, - "drilldown" : "Daniel Mantovani" - }, - { - "drilldown" : "Duane Powell", - "y" : 2, - "name" : "Duane Powell" - }, - { - "y" : 2, - "name" : "Duncan C. White", - "drilldown" : "Duncan C. White" - }, - { - "drilldown" : "E. Choroba", - "y" : 4, - "name" : "E. Choroba" - }, - { - "drilldown" : "Feng Chang", - "y" : 2, - "name" : "Feng Chang" - }, - { - "drilldown" : "Francis Whittle", - "name" : "Francis Whittle", - "y" : 2 - }, - { - "name" : "Jaime Corchado", - "y" : 2, - "drilldown" : "Jaime Corchado" - }, - { - "drilldown" : "Jaldhar H. Vyas", - "y" : 2, - "name" : "Jaldhar H. Vyas" - }, - { - "drilldown" : "Joelle Maslak", - "y" : 6, - "name" : "Joelle Maslak" - |
