diff options
| -rw-r--r-- | challenge-322/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-322/jaldhar-h-vyas/perl/ch-1.pl | 19 | ||||
| -rwxr-xr-x | challenge-322/jaldhar-h-vyas/perl/ch-2.pl | 13 | ||||
| -rwxr-xr-x | challenge-322/jaldhar-h-vyas/raku/ch-1.raku | 20 | ||||
| -rwxr-xr-x | challenge-322/jaldhar-h-vyas/raku/ch-2.raku | 14 |
5 files changed, 67 insertions, 0 deletions
diff --git a/challenge-322/jaldhar-h-vyas/blog.txt b/challenge-322/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..963415f713 --- /dev/null +++ b/challenge-322/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2025/05/perl_weekly_challenge_week_322.html diff --git a/challenge-322/jaldhar-h-vyas/perl/ch-1.pl b/challenge-322/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..9ed2b3ea97 --- /dev/null +++ b/challenge-322/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,19 @@ +#!/usr/bin/perl +use v5.38; + +my ($str, $i) = @ARGV; + +$str =~ s/-//g; + +my $pos = 0; +my $len = length $str; + +my @segments = substr($str, $pos, $len % $i) || (); +$pos += $len % $i; + +while ($pos < $len) { + push @segments, (substr($str, $pos, $i)); + $pos += $i; +} + +say join q{-}, @segments;
\ No newline at end of file diff --git a/challenge-322/jaldhar-h-vyas/perl/ch-2.pl b/challenge-322/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..19d45eb182 --- /dev/null +++ b/challenge-322/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,13 @@ +#!/usr/bin/perl +use v5.38; + +my @ints = @ARGV; + +my %ranked; +my $rank = 1; + +for my $int (sort {$a <=> $b} @ints) { + $ranked{$int} //= $rank++; +} + + say q{(}, (join q{, }, map { $ranked{$_} } @ints), q{)}; diff --git a/challenge-322/jaldhar-h-vyas/raku/ch-1.raku b/challenge-322/jaldhar-h-vyas/raku/ch-1.raku new file mode 100755 index 0000000000..9da16094eb --- /dev/null +++ b/challenge-322/jaldhar-h-vyas/raku/ch-1.raku @@ -0,0 +1,20 @@ +#!/usr/bin/raku + +sub MAIN( + Str $str, + Int $i +) { + my $dashless = $str.subst(q{-}, :g); + my $pos = 0; + my $len = $dashless.chars; + + my @segments = $dashless.substr($pos, $len % $i) || (); + $pos += $len % $i; + + while $pos < $len { + @segments.push($dashless.substr($pos, $i)); + $pos += $i; + } + + @segments.join(q{-}).say; +}
\ No newline at end of file diff --git a/challenge-322/jaldhar-h-vyas/raku/ch-2.raku b/challenge-322/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..75d95d9e3d --- /dev/null +++ b/challenge-322/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,14 @@ +#!/usr/bin/raku + +sub MAIN( + *@ints +) { + my %ranked; + my $rank = 1; + + for @ints.sort({$^a <=> $^b}) -> $int { + %ranked{$int} //= $rank++; + } + + say q{(}, @ints.map({ %ranked{$_} }).join(q{, }), q{)}; +}
\ No newline at end of file |
