From 815640c988ff845fd55380bd846ebf3b2dfa16c7 Mon Sep 17 00:00:00 2001 From: "Jaldhar H. Vyas" Date: Sun, 11 Feb 2024 15:31:51 -0500 Subject: Challenge 255 by Jaldhar H. Vyas. --- challenge-255/jaldhar-h-vyas/blog.txt | 1 + challenge-255/jaldhar-h-vyas/perl/ch-1.pl | 16 ++++++++++++++++ challenge-255/jaldhar-h-vyas/perl/ch-2.pl | 14 ++++++++++++++ challenge-255/jaldhar-h-vyas/raku/ch-1.sh | 3 +++ challenge-255/jaldhar-h-vyas/raku/ch-2.raku | 16 ++++++++++++++++ 5 files changed, 50 insertions(+) create mode 100644 challenge-255/jaldhar-h-vyas/blog.txt create mode 100755 challenge-255/jaldhar-h-vyas/perl/ch-1.pl create mode 100755 challenge-255/jaldhar-h-vyas/perl/ch-2.pl create mode 100755 challenge-255/jaldhar-h-vyas/raku/ch-1.sh create mode 100755 challenge-255/jaldhar-h-vyas/raku/ch-2.raku diff --git a/challenge-255/jaldhar-h-vyas/blog.txt b/challenge-255/jaldhar-h-vyas/blog.txt new file mode 100644 index 0000000000..80ee8fb358 --- /dev/null +++ b/challenge-255/jaldhar-h-vyas/blog.txt @@ -0,0 +1 @@ +https://www.braincells.com/perl/2024/02/perl_weekly_challenge_week_255.html diff --git a/challenge-255/jaldhar-h-vyas/perl/ch-1.pl b/challenge-255/jaldhar-h-vyas/perl/ch-1.pl new file mode 100755 index 0000000000..4b1771f36f --- /dev/null +++ b/challenge-255/jaldhar-h-vyas/perl/ch-1.pl @@ -0,0 +1,16 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +my ($s, $t) = @ARGV; +my %chars; + +for my $c (split //, $t) { + $chars{$c}++; +} + +for my $c (split //, $s) { + $chars{$c}--; +} + +say q{"}, (join q{}, grep { $chars{$_} > 0 } keys %chars), q{"}; \ No newline at end of file diff --git a/challenge-255/jaldhar-h-vyas/perl/ch-2.pl b/challenge-255/jaldhar-h-vyas/perl/ch-2.pl new file mode 100755 index 0000000000..c6e4e332e9 --- /dev/null +++ b/challenge-255/jaldhar-h-vyas/perl/ch-2.pl @@ -0,0 +1,14 @@ +#!/usr/bin/perl +use 5.030; +use warnings; + +my ($p, $w) = @ARGV; +my %count; +my @words = split /[\s\,\.]+/, $p; + +for my $word (@words) { + $count{$word}++; +} +delete %count{$w}; + +say [sort { $count{$b} <=> $count{$a} } keys %count]->[0]; diff --git a/challenge-255/jaldhar-h-vyas/raku/ch-1.sh b/challenge-255/jaldhar-h-vyas/raku/ch-1.sh new file mode 100755 index 0000000000..fc8dc93d74 --- /dev/null +++ b/challenge-255/jaldhar-h-vyas/raku/ch-1.sh @@ -0,0 +1,3 @@ +#!/bin/sh + +raku -e 'say q{"},(@*ARGS[0].comb.Mix∖@*ARGS[1].comb.Mix).keys.join,q{"}' "$@" \ No newline at end of file diff --git a/challenge-255/jaldhar-h-vyas/raku/ch-2.raku b/challenge-255/jaldhar-h-vyas/raku/ch-2.raku new file mode 100755 index 0000000000..1b4e1e9f06 --- /dev/null +++ b/challenge-255/jaldhar-h-vyas/raku/ch-2.raku @@ -0,0 +1,16 @@ +#!/usr/bin/raku + +sub MAIN( + Str $p, #= a paragraph + Str $w #= a banned word +) { + my %count; + my @words = $p.split(/<[\s \, \.]>+/); + + for @words -> $word { + %count{$word}++; + } + %count{$w}:delete; + + %count.keys.sort({ %count{$^b} <=> %count{$^a} }).first.say; +} -- cgit