diff options
| author | Mohammad Sajid Anwar <Mohammad.Anwar@yahoo.com> | 2023-08-01 11:34:14 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2023-08-01 11:34:14 +0100 |
| commit | 5405cd6061fd8ce5922fbd619eae282cbffb0eed (patch) | |
| tree | 68d7eff6ec394e90cb6bafb4b66b1041c2f1d2c0 | |
| parent | ec6683ae9baac445cc516cef50432f6b23362b1a (diff) | |
| parent | 396783db8487d95d44069f36c589365ed9376c63 (diff) | |
| download | perlweeklychallenge-club-5405cd6061fd8ce5922fbd619eae282cbffb0eed.tar.gz perlweeklychallenge-club-5405cd6061fd8ce5922fbd619eae282cbffb0eed.tar.bz2 perlweeklychallenge-club-5405cd6061fd8ce5922fbd619eae282cbffb0eed.zip | |
Merge pull request #8487 from jaldhar/challenge-228
Challenge 228 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-228/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-228/jaldhar-h-vyas/perl/ch-1.pl | 24 | ||||
| -rwxr-xr-x | challenge-228/jaldhar-h-vyas/perl/ch-2.pl | 21 | ||||
| -rwxr-xr-x | challenge-228/jaldhar-h-vyas/raku/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-228/jaldhar-h-vyas/raku/ch-2.raku | 18 |
5 files changed, 67 insertions, 0 deletions
diff --git a/challenge-228/jaldhar-h-vyas/blog.txt b/challenge-228/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..75cc906aa4 --- /dev/null +++ b/challenge-228/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2023/07/perl_weekly_challenge_week_228.html diff --git a/challenge-228/jaldhar-h-vyas/perl/ch-1.pl b/challenge-228/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..5d11141cc2 --- /dev/null +++ b/challenge-228/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub classifyUnique { + my %count; + + for my $n (@_) { + $count{$n}++; + } + return grep { $count{$_} == 1; } keys %count; +} + +sub sum { + my $total = 0; + + for my $elem (@_) { + $total += $elem; + } + + return $total; +} + +say sum(classifyUnique(@ARGV));
\ No newline at end of file diff --git a/challenge-228/jaldhar-h-vyas/perl/ch-2.pl b/challenge-228/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..6134bdadf5 --- /dev/null +++ b/challenge-228/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,21 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +sub min { + return ( sort { $a <=> $b } @_)[0]; +} + +my @ints = @ARGV; +my $ops = 0; + +while (scalar @ints) { + if ($ints[0] == min(@ints)) { + shift @ints; + } else { + push @ints, shift @ints; + } + $ops++; +} + +say $ops; diff --git a/challenge-228/jaldhar-h-vyas/raku/ch-1.sh b/challenge-228/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..09446148f8 --- /dev/null +++ b/challenge-228/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e '@*ARGS.classify({$_}).grep({.value==1}).map({.key}).sum.say' "$@" diff --git a/challenge-228/jaldhar-h-vyas/raku/ch-2.raku b/challenge-228/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..b2c05bdbf9 --- /dev/null +++ b/challenge-228/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,18 @@ +#!/usr/bin/raku + +sub MAIN( + *@ints +) { + my $ops = 0; + + while @ints.elems { + if @ints[0] == @ints.min { + @ints.shift; + } else { + @ints.push(@ints.shift); + } + $ops++; + } + + say $ops; +}
\ No newline at end of file |
