diff options
| author | Jaldhar H. Vyas <jaldhar@braincells.com> | 2024-08-29 23:13:25 -0400 |
|---|---|---|
| committer | Jaldhar H. Vyas <jaldhar@braincells.com> | 2024-08-30 14:20:19 -0400 |
| commit | f0de1834da6a6ec8bc5d83d9effedd36a656c3e3 (patch) | |
| tree | 1aee37c794e8bd5ea7cbf772dd9ca1c880651903 | |
| parent | ca254bf2754bcd6602cd190c4497529c3aa7ff74 (diff) | |
| download | perlweeklychallenge-club-f0de1834da6a6ec8bc5d83d9effedd36a656c3e3.tar.gz perlweeklychallenge-club-f0de1834da6a6ec8bc5d83d9effedd36a656c3e3.tar.bz2 perlweeklychallenge-club-f0de1834da6a6ec8bc5d83d9effedd36a656c3e3.zip | |
Challenge 284 by Jaldhar H. Vyas.
| -rw-r--r-- | challenge-284/jaldhar-h-vyas/blog.txt | 1 | ||||
| -rwxr-xr-x | challenge-284/jaldhar-h-vyas/perl/ch-1.pl | 11 | ||||
| -rwxr-xr-x | challenge-284/jaldhar-h-vyas/perl/ch-2.pl | 24 | ||||
| -rwxr-xr-x | challenge-284/jaldhar-h-vyas/raku/ch-1.sh | 3 | ||||
| -rwxr-xr-x | challenge-284/jaldhar-h-vyas/raku/ch-2.raku | 23 |
5 files changed, 62 insertions, 0 deletions
diff --git a/challenge-284/jaldhar-h-vyas/blog.txt b/challenge-284/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..c79fb0b6b1 --- /dev/null +++ b/challenge-284/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2024/08/perl_weekly_challenge_week_284.html diff --git a/challenge-284/jaldhar-h-vyas/perl/ch-1.pl b/challenge-284/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..b1c18ad219 --- /dev/null +++ b/challenge-284/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,11 @@ +#!/usr/bin/perl +use v5.38; + +my @ints = @ARGV; +my %count; + +for my $int (@ints) { + $count{$int}++; +} + +say [sort { $b <=> $a} grep { $_ == $count{$_} } keys %count]->[0] // -1; diff --git a/challenge-284/jaldhar-h-vyas/perl/ch-2.pl b/challenge-284/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..5f0039799f --- /dev/null +++ b/challenge-284/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,24 @@ +#!/usr/bin/perl +use v5.38; + +my @list1 = split /\s*/, $ARGV[0]; +my @list2 = split /\s*/, $ARGV[1]; + +my %elems; +for my $int (@list1) { + push @{$elems{$int}}, $int; +} + +my @result; + +for my $e (@list2) { + push @result, @{$elems{$e}}; + delete $elems{$e}; +} + +for my $e (sort { $a <=> $b } keys %elems) { + push @result, @{$elems{$e}}; + delete $elems{$e}; +} + +say q{(}, (join q{, }, @result), q{)};
\ No newline at end of file diff --git a/challenge-284/jaldhar-h-vyas/raku/ch-1.sh b/challenge-284/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..1969edcfd5 --- /dev/null +++ b/challenge-284/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e 'my %h=@*ARGS.classify({$_});say (%h.keys.grep({$_==%h{$_}.elems}).sort)[*-1]//-1' "$@"
\ No newline at end of file diff --git a/challenge-284/jaldhar-h-vyas/raku/ch-2.raku b/challenge-284/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..8327f50e51 --- /dev/null +++ b/challenge-284/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,23 @@ +#!/usr/bin/raku + +sub MAIN( + Str $l1, + Str $l2 +) { + my @list1 = $l1.words; + my @list2 = $l2.words; + my %elems = @list1.classify({ $_ }); + my @result; + + for @list2 -> $e { + @result.push(| %elems{$e}); + %elems{$e}:delete; + } + + for %elems.keys.sort -> $e { + @result.push(| %elems{$e}); + %elems{$e}:delete; + } + + say q{(}, @result.join(q{, }), q{)}; +}
\ No newline at end of file |
