diff options
| author | Kjetil Skotheim <kjetil.skotheim@sikt.no> | 2024-02-05 22:10:36 +0100 |
|---|---|---|
| committer | Kjetil Skotheim <kjetil.skotheim@sikt.no> | 2024-02-05 22:10:36 +0100 |
| commit | cd316e86baf4f38d1c81b7679ea4a736edf23724 (patch) | |
| tree | 1f9cbe4f74aab58ae03f58d76ad3cd524e64b56b /challenge-255 | |
| parent | 308775b9181479af42e5e407efbff5d4607dcbd2 (diff) | |
| download | perlweeklychallenge-club-cd316e86baf4f38d1c81b7679ea4a736edf23724.tar.gz perlweeklychallenge-club-cd316e86baf4f38d1c81b7679ea4a736edf23724.tar.bz2 perlweeklychallenge-club-cd316e86baf4f38d1c81b7679ea4a736edf23724.zip | |
https://theweeklychallenge.org/blog/perl-weekly-challenge-255/
Diffstat (limited to 'challenge-255')
| -rw-r--r-- | challenge-255/kjetillll/perl/ch-1.pl | 11 | ||||
| -rw-r--r-- | challenge-255/kjetillll/perl/ch-2.pl | 16 |
2 files changed, 27 insertions, 0 deletions
diff --git a/challenge-255/kjetillll/perl/ch-1.pl b/challenge-255/kjetillll/perl/ch-1.pl new file mode 100644 index 0000000000..5c35b9b15b --- /dev/null +++ b/challenge-255/kjetillll/perl/ch-1.pl @@ -0,0 +1,11 @@ +sub odd_char { + my %toggle; + $toggle{$_}++ and delete $toggle{$_} for "@_ "=~/./gs; + (keys%toggle)[0]; +} + +use Test::More; +is( odd_char("Perl", "Preel") => 'e' ); +is( odd_char("Weekly", "Weeakly") => 'a' ); +is( odd_char("Box", "Boxy") => 'y' ); +done_testing; diff --git a/challenge-255/kjetillll/perl/ch-2.pl b/challenge-255/kjetillll/perl/ch-2.pl new file mode 100644 index 0000000000..b59c2b8225 --- /dev/null +++ b/challenge-255/kjetillll/perl/ch-2.pl @@ -0,0 +1,16 @@ +sub most_frequent_unbanned_word { + my($paragraph,$banned)=@_; + my %frequency; + my $letters='a-z'; + $frequency{$_}++ for $paragraph=~/[$letters]+/gi; + delete $frequency{$banned}; + ( sort{ $frequency{$b} <=> $frequency{$a} or $a cmp $b} keys %frequency )[0] +} + +use Test::More; +is( most_frequent_unbanned_word("Joe hit a ball, the hit ball flew far after it was hit.", + "hit") => 'ball' ); +is( most_frequent_unbanned_word("Perl and Raku belong to the same family. Perl is the + most popular language in the weekly challenge.", + "the") => 'Perl' ); +done_testing; |
