aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMohammad S Anwar <Mohammad.Anwar@yahoo.com>2021-04-13 17:57:58 +0100
committerGitHub <noreply@github.com>2021-04-13 17:57:58 +0100
commitfaa08ec995987c06f6d3b2f6835fc4f4d6dca176 (patch)
treecc1b6d7ec31be1c370e7b66508428fb3d61becda
parent2411f71bf31f34b12d1aa29599e9c0bf27906634 (diff)
parent04cceed50aa1edcd78ca3f7fc872d88b499be7af (diff)
downloadperlweeklychallenge-club-faa08ec995987c06f6d3b2f6835fc4f4d6dca176.tar.gz
perlweeklychallenge-club-faa08ec995987c06f6d3b2f6835fc4f4d6dca176.tar.bz2
perlweeklychallenge-club-faa08ec995987c06f6d3b2f6835fc4f4d6dca176.zip
Merge pull request #3891 from lakpatashi/branch-002
Revision to challenge #002 perl
-rwxr-xr-xchallenge-002/lakpatashi/perl/ch-1.pl6
-rwxr-xr-xchallenge-002/lakpatashi/perl/ch-2.pl47
-rw-r--r--challenge-003/lakpatashi/README1
3 files changed, 36 insertions, 18 deletions
diff --git a/challenge-002/lakpatashi/perl/ch-1.pl b/challenge-002/lakpatashi/perl/ch-1.pl
index 0b3cf1b5cc..a599171f61 100755
--- a/challenge-002/lakpatashi/perl/ch-1.pl
+++ b/challenge-002/lakpatashi/perl/ch-1.pl
@@ -5,9 +5,9 @@ use warnings;
# PART 1
-my $var = 'Perl Weekly Challenge';
+my $var = '000012340000';
print "Before:: $var\n";
-my $repCount = $var =~ s/e/E/g;
+my $repCount = $var =~ s/^0+//g;
print "After :: $var\n";
-print "Pattern matched:: $repCount\n";
+print "char Replaced:: $repCount\n";
diff --git a/challenge-002/lakpatashi/perl/ch-2.pl b/challenge-002/lakpatashi/perl/ch-2.pl
index aa05b41cf7..ef4bec3468 100755
--- a/challenge-002/lakpatashi/perl/ch-2.pl
+++ b/challenge-002/lakpatashi/perl/ch-2.pl
@@ -4,22 +4,39 @@ use strict;
use warnings;
# PART 2
+use List::Util qw(min max sum);
+use Data::Dumper qw(Dumper);
+my %digit;
+my @keys = ( (0..9),('A'..'Y') );
+my @values = (0..35);
+@digit{@keys}=@values;
+my %digitRev = reverse %digit;
+#print Dumper \%digitRev;
-use feature "switch";
+my $num1 = 'A1K3';
+print "Given base35 no:: $num1\n";
+print "converted to int no:: ",intToBase35($num1),"\n";
-for my $i (1..20){
- given($i){
- when(not $i%15){
- print "fizzbuzz\n";
- }
- when(not $i%3){
- print "fizz\n";
- }
- when(not $i%5){
- print "buzz\n";
- }
- default{
- print "$i\n";
- }
+my $num2 = 430678;
+print "Given int no:: $num2\n";
+print "converted to base35 no:: ",base35ToInt($num2),"\n";
+
+
+sub intToBase35{
+ my @num = split '', shift;
+ @num = reverse @num;
+ @num = map { $digit{$num[$_]} * 35**$_ } 0..$#num ;
+ return sum @num;
+}
+
+sub base35ToInt{
+ my $num = shift;
+ my @arr;
+ while($num > 35){
+ unshift @arr, $num%35;
+ $num = int($num/35);
}
+ unshift @arr, $num;
+ @arr = map { $digitRev{$_} } @arr;
+ return join '',@arr;
}
diff --git a/challenge-003/lakpatashi/README b/challenge-003/lakpatashi/README
new file mode 100644
index 0000000000..bc153bd576
--- /dev/null
+++ b/challenge-003/lakpatashi/README
@@ -0,0 +1 @@
+Solution by lakpatashi