aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <mohammad.anwar@yahoo.com>2024-03-17 14:36:21 +0000
committerMohammad S Anwar <mohammad.anwar@yahoo.com>2024-03-17 14:36:21 +0000
commit3b32b0fa6c8b0ce0b4516e0a71a8ae22f7efc54e (patch)
tree4b4bbe9522291cafeade0ba583e812a3e6bd8d40
parent7177fae93dcaab8a8838b3af1c450e95b70ff4af (diff)
downloadperlweeklychallenge-club-3b32b0fa6c8b0ce0b4516e0a71a8ae22f7efc54e.tar.gz
perlweeklychallenge-club-3b32b0fa6c8b0ce0b4516e0a71a8ae22f7efc54e.tar.bz2
perlweeklychallenge-club-3b32b0fa6c8b0ce0b4516e0a71a8ae22f7efc54e.zip
- Added solutions by Lubos Kolouch.
- Added solutions by Adam Russell. - Added solutions by Robert Ransbottom. - Added solutions by Simon Green. - Added blog post by Roger Bell_West. - Added solutions by Wanderdoc.
-rwxr-xr-xchallenge-260/wanderdoc/perl/ch-1.pl33
-rwxr-xr-xchallenge-260/wanderdoc/perl/ch-2.pl46
-rw-r--r--stats/pwc-challenge-001.json1011
-rw-r--r--stats/pwc-challenge-002.json459
-rw-r--r--stats/pwc-challenge-003.json559
-rw-r--r--stats/pwc-challenge-004.json639
-rw-r--r--stats/pwc-current.json251
-rw-r--r--stats/pwc-language-breakdown-summary.json84
-rw-r--r--stats/pwc-language-breakdown.json3638
-rw-r--r--stats/pwc-leaders.json796
-rw-r--r--stats/pwc-summary-1-30.json118
-rw-r--r--stats/pwc-summary-121-150.json46
-rw-r--r--stats/pwc-summary-151-180.json52
-rw-r--r--stats/pwc-summary-181-210.json28
-rw-r--r--stats/pwc-summary-211-240.json42
-rw-r--r--stats/pwc-summary-241-270.json50
-rw-r--r--stats/pwc-summary-271-300.json108
-rw-r--r--stats/pwc-summary-301-330.json44
-rw-r--r--stats/pwc-summary-31-60.json44
-rw-r--r--stats/pwc-summary-61-90.json58
-rw-r--r--stats/pwc-summary-91-120.json58
-rw-r--r--stats/pwc-summary.json670
22 files changed, 4532 insertions, 4302 deletions
diff --git a/challenge-260/wanderdoc/perl/ch-1.pl b/challenge-260/wanderdoc/perl/ch-1.pl
new file mode 100755
index 0000000000..08d3bf89fb
--- /dev/null
+++ b/challenge-260/wanderdoc/perl/ch-1.pl
@@ -0,0 +1,33 @@
+#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given an array of integers, @ints. Write a script to return 1 if the number of occurrences of each value in the given array is unique or 0 otherwise.
+Example 1 Input: @ints = (1,2,2,1,1,3) Output: 1
+The number 1 occurred 3 times.
+The number 2 occurred 2 times.
+The number 3 occurred 1 time.
+
+All occurrences are unique, therefore the output is 1.
+
+Example 2 Input: @ints = (1,2,3) Output: 0
+Example 3 Input: @ints = (-2,0,1,-2,1,1,0,1,-2,9) Output: 1
+=cut
+
+use Test2::V0;
+
+is(unique_occurences(1,2,2,1,1,3), 1, 'Example 1');
+is(unique_occurences(1,2,3), 0, , 'Example 2');
+is(unique_occurences(-2,0,1,-2,1,1,0,1,-2,9), 1, 'Example 3');
+done_testing();
+
+sub unique_occurences
+{
+ my @arr = @_;
+ my %values;
+ do { $values{$_}++ } for @arr;
+ my %unique;
+ @unique{values %values} = undef;
+ return (scalar keys %unique == scalar keys %values) ? 1 : 0;
+}
diff --git a/challenge-260/wanderdoc/perl/ch-2.pl b/challenge-260/wanderdoc/perl/ch-2.pl
new file mode 100755
index 0000000000..9c6fc2dabd
--- /dev/null
+++ b/challenge-260/wanderdoc/perl/ch-2.pl
@@ -0,0 +1,46 @@
+#!perl
+use strict;
+use warnings FATAL => qw(all);
+
+=prompt
+You are given a word, $word. Write a script to compute the dictionary rank of the given word.
+
+Example 1 Input: $word = 'CAT' Output: 3
+All possible combinations of the letters: CAT, CTA, ATC, TCA, ACT, TAC
+Arrange them in alphabetical order: ACT, ATC, CAT, CTA, TAC, TCA
+CAT is the 3rd in the list. Therefore the dictionary rank of CAT is 3.
+
+
+Example 2 Input: $word = 'GOOGLE' Output: 88
+Example 3 Input: $word = 'SECRET' Output: 255
+=cut
+
+
+use Algorithm::Combinatorics qw(permutations);
+# Tuples are generated in lexicographic order, except in subsets().
+use Test2::V0;
+
+is(dictionary_rank('CAT'), 3, 'Example 1');
+is(dictionary_rank('GOOGLE'), 88, 'Example 2');
+is(dictionary_rank('SECRET'), 255, 'Example 3');
+done_testing();
+
+sub dictionary_rank
+{
+ my $word = $_[0];
+ my @data = sort { $a cmp $b } split(//, $word);
+ my $counter = 0;
+ my %seen;
+ my $iter = permutations(\@data);
+ while (my $c = $iter->next)
+ {
+ my $tuple = join('', @$c);
+ next if (exists $seen{$tuple});
+ $seen{$tuple} = undef;
+ $counter++;
+ if ( $tuple eq $word )
+ {
+ return $counter;
+ }
+ }
+}
diff --git a/stats/pwc-challenge-001.json b/stats/pwc-challenge-001.json
index e5aae6ead0..3e236e8ace 100644
--- a/stats/pwc-challenge-001.json
+++ b/stats/pwc-challenge-001.json
@@ -1,407 +1,22 @@
{
- "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"
- },
- "chart" : {
- "type" : "column"
- },
- "plotOptions" : {
- "series" : {
- "dataLabels" : {
- "format" : "{point.y}",
- "enabled" : 1
- },
- "borderWidth" : 0
- }
- },
"yAxis" : {
"title" : {
"text" : "Total Solutions"
}
},
- "title" : {
- "text" : "The Weekly Challenge - 001"
- },
- "series" : [
- {
- "colorByPoint" : 1,
- "name" : "The Weekly Challenge - 001",
- "data" : [
- {
- "y" : 2,
- "drilldown" : "Abigail",
- "name" : "Abigail"
- },
- {
- "y" : 3,
- "drilldown" : "Adam Russell",
- "name" : "Adam Russell"
- },
- {
- "drilldown" : "Ailbhe Tweedie",
- "name" : "Ailbhe Tweedie",
- "y" : 1
- },
- {
- "y" : 2,
- "drilldown" : "Alex Daniel",
- "name" : "Alex Daniel"
- },
- {
- "drilldown" : "Ali Moradi",
- "name" : "Ali Moradi",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Andrezgz",
- "drilldown" : "Andrezgz"
- },
- {
- "name" : "Antonio Gamiz",
- "drilldown" : "Antonio Gamiz",
- "y" : 2
- },
- {
- "drilldown" : "Arne Sommer",
- "name" : "Arne Sommer",
- "y" : 5
- },
- {
- "y" : 2,
- "drilldown" : "Arpad Toth",
- "name" : "Arpad Toth"
- },
- {
- "y" : 2,
- "name" : "Athanasius",
- "drilldown" : "Athanasius"
- },
- {
- "drilldown" : "Bob Kleemann",
- "name" : "Bob Kleemann",
- "y" : 2
- },
- {
- "drilldown" : "Bob Lied",
- "name" : "Bob Lied",
- "y" : 2
- },
- {
- "y" : 1,
- "drilldown" : "Daniel Mantovani",
- "name" : "Daniel Mantovani"
- },
- {
- "name" : "Dave Cross",
- "drilldown" : "Dave Cross",
- "y" : 3
- },
- {
- "y" : 2,
- "drilldown" : "Dave Jacoby",
- "name" : "Dave Jacoby"
- },
- {
- "drilldown" : "David Ferrone",
- "name" : "David Ferrone",
- "y" : 2
- },
- {
- "name" : "David Kayal",
- "drilldown" : "David Kayal",
- "y" : 2
- },
- {
- "y" : 2,
- "drilldown" : "Doug Schrag",
- "name" : "Doug Schrag"
- },
- {
- "name" : "Duncan C. White",
- "drilldown" : "Duncan C. White",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Eddy HS",
- "drilldown" : "Eddy HS"
- },
- {
- "y" : 2,
- "drilldown" : "Finley",
- "name" : "Finley"
- },
- {
- "y" : 1,
- "drilldown" : "Fred Zinn",
- "name" : "Fred Zinn"
- },
- {
- "drilldown" : "Freddie B",
- "name" : "Freddie B",
- "y" : 2
- },
- {
- "drilldown" : "Gustavo Chaves",
- "name" : "Gustavo Chaves",
- "y" : 1
- },
- {
- "y" : 4,
- "name" : "Jaldhar H. Vyas",
- "drilldown" : "Jaldhar H. Vyas"
- },
- {
- "y" : 4,
- "name" : "James Smith",
- "drilldown" : "James Smith"
- },
- {
- "name" : "Jeff",
- "drilldown" : "Jeff",
- "y" : 2
- },
- {
- "y" : 2,
- "drilldown" : "Jeremy Carman",
- "name" : "Jeremy Carman"
- },
- {
- "name" : "Jim Bacon",
- "drilldown" : "Jim Bacon",
- "y" : 1
- },
- {
- "drilldown" : "JJ Merelo",
- "name" : "JJ Merelo",
- "y" : 2
- },
- {
- "y" : 5,
- "drilldown" : "Jo Christian Oterhals",
- "name" : "Jo Christian Oterhals"
- },
- {
- "y" : 6,
- "name" : "Joelle Maslak",
- "drilldown" : "Joelle Maslak"
- },
- {
- "y" : 1,
- "drilldown" : "John Barrett",
- "name" : "John Barrett"
- },
- {
- "drilldown" : "Jorg Sommrey",
- "name" : "Jorg Sommrey",
- "y" : 2
- },
- {
- "drilldown" : "Juan Caballero",
- "name" : "Juan Caballero",
- "y" : 2
- },
- {
- "y" : 2,
- "drilldown" : "Khalid",
- "name" : "Khalid"
- },
- {
- "y" : 3,
- "drilldown" : "Kian-Meng Ang",
- "name" : "Kian-Meng Ang"
- },
- {
- "y" : 2,
- "name" : "Kivanc Yazan",
- "drilldown" : "Kivanc Yazan"
- },
- {
- "y" : 2,
- "name" : "Lakpa Tashi Bhutia",
- "drilldown" : "Lakpa Tashi Bhutia"
- },
- {
- "y" : 4,
- "name" : "Lars Balker",
- "drilldown" : "Lars Balker"
- },
- {
- "y" : 4,
- "name" : "Laurent Rosenfeld",
- "drilldown" : "Laurent Rosenfeld"
- },
- {
- "y" : 3,
- "drilldown" : "Lubos Kolouch",
- "name" : "Lubos Kolouch"
- },
- {
- "name" : "Mark Senn",
- "drilldown" : "Mark Senn",
- "y" : 2
- },
- {
- "name" : "Martin Mugeni",
- "drilldown" : "Martin Mugeni",
- "y" : 2
- },
- {
- "drilldown" : "Max Kossek",
- "name" : "Max Kossek",
- "y" : 2
- },
- {
- "drilldown" : "Neil Bowers",
- "name" : "Neil Bowers",
- "y" : 1
- },
- {
- "y" : 4,
- "name" : "Nick Logan",
- "drilldown" : "Nick Logan"
- },
- {
- "y" : 2,
- "drilldown" : "Oleksii Tsvietnov",
- "name" : "Oleksii Tsvietnov"
- },
- {
- "y" : 2,
- "name" : "Ozzy",
- "drilldown" : "Ozzy"
- },
- {
- "name" : "Pablo Saavedra",
- "drilldown" : "Pablo Saavedra",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Paulo Custodio",
- "drilldown" : "Paulo Custodio"
- },
- {
- "drilldown" : "Pavel Jurca",
- "name" : "Pavel Jurca",
- "y" : 2
- },
- {
- "y" : 2,
- "name" : "Pete Houston",
- "drilldown" : "Pete Houston"
- },
- {
- "name" : "Philippe Bruhat",
- "drilldown" : "Philippe Bruhat",
- "y" : 3
- },
- {
- "name" : "Prajith P",
- "drilldown" : "Prajith P",
- "y" : 1
- },
- {
- "drilldown" : "Ruben Westerberg",
- "name" : "Ruben Westerberg",
- "y" : 4
- },
- {
- "y" : 4,
- "name" : "Ryan Thompson",
- "drilldown" : "Ryan Thompson"
- },
- {
- "drilldown" : "Samir Parikh",
- "name" : "Samir Parikh",
- "y" : 1
- },
- {
- "y" : 2,
- "name" : "Sean Meininger",
- "drilldown" : "Sean Meininger"
- },
- {
- "drilldown" : "Simon Proctor",
- "name" : "Simon Proctor",
- "y" : 7
- },
- {
- "y" : 2,
- "name" : "Simon Reinhardt",
- "drilldown" : "Simon Reinhardt"
- },
- {
- "y" : 4,
- "drilldown" : "Steve Rogerson",
- "name" : "Steve Rogerson"
- },
- {
- "drilldown" : "Steven Wilson",
- "name" : "Steven Wilson",
- "y" : 2
- },
- {
- "name" : "Stuart Little",
- "drilldown" : "Stuart Little",
- "y" : 2
- },
- {
- "y" : 1,
- "drilldown" : "Tiago Stock",
- "name" : "Tiago Stock"
- },
- {
- "y" : 2,
- "drilldown" : "Tore Andersson",
- "name" : "Tore Andersson"
- },
- {
- "y" : 1,
- "drilldown" : "Veesh Goldman",
- "name" : "Veesh Goldman"
- },
- {
- "drilldown" : "Vinod Kumar K",
- "name" : "Vinod Kumar K",
- "y" : 2
- },
- {
- "y" : 1,
- "drilldown" : "William Gilmore",
- "name" : "William Gilmore"
- },
- {
- "name" : "Yet Ebreo",
- "drilldown" : "Yet Ebreo",
- "y" : 4
- }
- ]
- }
- ],
- "subtitle" : {
- "text" : "[Champions: 70] Last updated at 2024-03-16 13:08:29 GMT"
- },
"drilldown" : {
"series" : [
{
"id" : "Abigail",
- "name" : "Abigail",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "name" : "Abigail"
},
{
- "name" : "Adam Russell",
"data" : [
[
"Perl",
@@ -412,41 +27,42 @@
1
]
],
- "id" : "Adam Russell"
+ "id" : "Adam Russell",
+ "name" : "Adam Russell"
},
{
- "id" : "Ailbhe Tweedie",
"name" : "Ailbhe Tweedie",
"data" : [
[
"Perl",
1
]
- ]
+ ],
+ "id" : "Ailbhe Tweedie"
},
{
+ "id" : "Alex Daniel",
"data" : [
[
"Raku",
2
]
],
- "name" : "Alex Daniel",
- "id" : "Alex Daniel"
+ "name" : "Alex Daniel"
},
{
+ "name" : "Ali Moradi",
"data" : [
[
"Perl",
2
]
],
- "name" : "Ali Moradi",
"id" : "Ali Moradi"
},
{
- "id" : "Andrezgz",
"name" : "Andrezgz",
+ "id" : "Andrezgz",
"data" : [
[
"Perl",
@@ -455,17 +71,16 @@
]
},
{
- "id" : "Antonio Gamiz",
+ "name" : "Antonio Gamiz",
"data" : [
[
"Raku",
2
]
],
- "name" : "Antonio Gamiz"
+ "id" : "Antonio Gamiz"
},
{
- "id" : "Arne Sommer",
"data" : [
[
"Perl",
@@ -480,61 +95,62 @@
1
]
],
+ "id" : "Arne Sommer",
"name" : "Arne Sommer"
},
{
+ "id" : "Arpad Toth",
"data" : [
[
"Perl",
2
]
],
- "name" : "Arpad Toth",
- "id" : "Arpad Toth"
+ "name" : "Arpad Toth"
},
{
- "id" : "Athanasius",
"name" : "Athanasius",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Athanasius"
},
{
- "id" : "Bob Kleemann",
- "name" : "Bob Kleemann",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Bob Kleemann",
+ "name" : "Bob Kleemann"
},
{
+ "name" : "Bob Lied",
"data" : [
[
"Perl",
2
]
],
- "name" : "Bob Lied",
"id" : "Bob Lied"
},
{
+ "name" : "Daniel Mantovani",
+ "id" : "Daniel Mantovani",
"data" : [
[
"Perl",
1
]
- ],
- "name" : "Daniel Mantovani",
- "id" : "Daniel Mantovani"
+ ]
},
{
- "id" : "Dave Cross",
"name" : "Dave Cross",
+ "id" : "Dave Cross",
"data" : [
[
"Perl",
@@ -547,7 +163,7 @@
]
},
{
- "id" : "Dave Jacoby",
+ "name" : "Dave Jacoby",
"data" : [
[
"Perl",
@@ -558,36 +174,36 @@
1
]
],
- "name" : "Dave Jacoby"
+ "id" : "Dave Jacoby"
},
{
+ "name" : "David Ferrone",
"id" : "David Ferrone",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "David Ferrone"
+ ]
},
{
- "id" : "David Kayal",
"name" : "David Kayal",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "David Kayal"
},
{
- "id" : "Doug Schrag",
"data" : [
[
"Raku",
2
]
],
+ "id" : "Doug Schrag",
"name" : "Doug Schrag"
},
{
@@ -601,23 +217,23 @@
"id" : "Duncan C. White"
},
{
- "id" : "Eddy HS",
+ "name" : "Eddy HS",
"data" : [
[
"Perl",
2
]
],
- "name" : "Eddy HS"
+ "id" : "Eddy HS"
},
{
+ "name" : "Finley",
"data" : [
[
"Raku",
2
]
],
- "name" : "Finley",
"id" : "Finley"
},
{
@@ -631,27 +247,27 @@
"name" : "Fred Zinn"
},
{
- "id" : "Freddie B",
"name" : "Freddie B",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Freddie B"
},
{
"id" : "Gustavo Chaves",
- "name" : "Gustavo Chaves",
"data" : [
[
"Perl",
1
]
- ]
+ ],
+ "name" : "Gustavo Chaves"
},
{
- "name" : "Jaldhar H. Vyas",
+ "id" : "Jaldhar H. Vyas",
"data" : [
[
"Perl",
@@ -662,10 +278,9 @@
2
]
],
- "id" : "Jaldhar H. Vyas"
+ "name" : "Jaldhar H. Vyas"
},
{
- "name" : "James Smith",
"data" : [
[
"Perl",
@@ -676,20 +291,22 @@
2
]
],
- "id" : "James Smith"
+ "id" : "James Smith",
+ "name" : "James Smith"
},
{
- "name" : "Jeff",
+ "id" : "Jeff",
"data" : [
[
"Perl",
2
]
],
- "id" : "Jeff"
+ "name" : "Jeff"
},
{
"name" : "Jeremy Carman",
+ "id" : "Jeremy Carman",
"data" : [
[
"Perl",
@@ -699,12 +316,11 @@
"Raku",
1
]
- ],
- "id" : "Jeremy Carman"
+ ]
},
{
- "id" : "Jim Bacon",
"name" : "Jim Bacon",
+ "id" : "Jim Bacon",
"data" : [
[
"Perl",
@@ -727,8 +343,6 @@
"id" : "JJ Merelo"
},
{
- "id" : "Jo Christian Oterhals",
- "name" : "Jo Christian Oterhals",
"data" : [
[
"Perl",
@@ -742,9 +356,12 @@
"Blog",
1
]
- ]
+ ],
+ "id" : "Jo Christian Oterhals",
+ "name" : "Jo Christian Oterhals"
},
{
+ "name" : "Joelle Maslak",
"id" : "Joelle Maslak",
"data" : [
[
@@ -755,51 +372,49 @@
"Raku",
3
]
- ],
- "name" : "Joelle Maslak"
+ ]
},
{
+ "name" : "John Barrett",
"id" : "John Barrett",
"data" : [
[
"Perl",
1
]
- ],
- "name" : "John Barrett"
+ ]
},
{
- "name" : "Jorg Sommrey",
"data" : [
[
"Perl",
2
]
],
- "id" : "Jorg Sommrey"
+ "id" : "Jorg Sommrey",
+ "name" : "Jorg Sommrey"
},
{
- "id" : "Juan Caballero",
"name" : "Juan Caballero",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Juan Caballero"
},
{
+ "id" : "Khalid",
"data" : [
[
"Perl",
2
]
],
- "name" : "Khalid",
- "id" : "Khalid"
+ "name" : "Khalid"
},
{
- "id" : "Kian-Meng Ang",
"data" : [
[
"Perl",
@@ -810,29 +425,31 @@
1
]
],
+ "id" : "Kian-Meng Ang",
"name" : "Kian-Meng Ang"
},
{
+ "name" : "Kivanc Yazan",
"id" : "Kivanc Yazan",
"data" : [
[
"Perl",
2
]
- ],
- "name" : "Kivanc Yazan"
+ ]
},
{
- "id" : "Lakpa Tashi Bhutia",
"name" : "Lakpa Tashi Bhutia",
"data" : [
[
"Perl",
2
]
- ]
+ ],
+ "id" : "Lakpa Tashi Bhutia"
},
{
+ "name" : "Lars Balker",
"data" : [
[
"Perl",
@@ -843,12 +460,10 @@
2
]
],
- "name" : "Lars Balker",
"id" : "Lars Balker"
},
{
"id" : "Laurent Rosenfeld",
- "name" : "Laurent Rosenfeld",
"data" : [
[
"Perl",
@@ -862,10 +477,11 @@
"Blog",
1
]
- ]
+ ],
+ "name" : "Laurent Rosenfeld"
},
{
- "id" : "Lubos Kolouch",
+ "name" : "Lubos Kolouch",
"data" : [
[
"Perl",
@@ -876,41 +492,41 @@
1
]
],
- "name" : "Lubos Kolouch"
+ "id" : "Lubos Kolouch"
},
{
- "id" : "Mark Senn",
+ "name" : "Mark Senn",
"data" : [
[
"Raku",
2
]
],
- "name" : "Mark Senn"
+ "id" : "Mark Senn"
},
{
- "name" : "Martin Mugeni",
"data" : [
[
"Raku",
2
]
],
- "id" : "Martin Mugeni"
+ "id" : "Martin Mugeni",
+ "name" : "Martin Mugeni"
},
{
+ "id" : "Max Kossek",
"data" : [
[
"Perl",
2
]
],
- "name" : "Max Kossek",
- "id" : "Max Kossek"
+ "name" : "Max Kossek"
},
{
- "id" : "Neil Bowers",
"name" : "Neil Bowers",
+ "id" : "Neil Bowers",
"data" : [
[
"Perl",
@@ -919,6 +535,7 @@
]
},
{
+ "name" : "Nick Logan",
"data" : [
[<