diff options
| author | E7-87-83 <fungcheokyin@gmail.com> | 2024-06-16 17:51:57 +0800 |
|---|---|---|
| committer | E7-87-83 <fungcheokyin@gmail.com> | 2024-06-16 17:51:57 +0800 |
| commit | 22b6b07c3a99ccee0a10870b3a22d7b14c1c3f21 (patch) | |
| tree | 92ec989e7952216e685458f3352306ed72b39e1d | |
| parent | 781d55b4aec8d8a24189a52805739d81072cd740 (diff) | |
| download | perlweeklychallenge-club-22b6b07c3a99ccee0a10870b3a22d7b14c1c3f21.tar.gz perlweeklychallenge-club-22b6b07c3a99ccee0a10870b3a22d7b14c1c3f21.tar.bz2 perlweeklychallenge-club-22b6b07c3a99ccee0a10870b3a22d7b14c1c3f21.zip | |
Week 273
| -rw-r--r-- | challenge-273/cheok-yin-fung/perl/ch-1.pl | 20 | ||||
| -rw-r--r-- | challenge-273/cheok-yin-fung/perl/ch-2.pl | 20 |
2 files changed, 40 insertions, 0 deletions
diff --git a/challenge-273/cheok-yin-fung/perl/ch-1.pl b/challenge-273/cheok-yin-fung/perl/ch-1.pl new file mode 100644 index 0000000000..6e76a2eecf --- /dev/null +++ b/challenge-273/cheok-yin-fung/perl/ch-1.pl @@ -0,0 +1,20 @@ +# The Weekly Challenge 273 +# Task 1 Percentage of Character +use v5.30.0; +use warnings; +use Math::Round qw/round/; + +sub sc { + my $str = $_[0]; + my $char = $_[1]; + my $per = (grep {$_ eq $char} split "", $str) / length $str; + return round(100*$per); +} + +use Test::More tests=>6; +ok sc("perl", "e") == 25; +ok sc("java", "a") == 50; +ok sc("python", "m") == 0; +ok sc("ada", "a") == 67; +ok sc("ballerina", "l") == 22; +ok sc("analitik", "k") == 13; diff --git a/challenge-273/cheok-yin-fung/perl/ch-2.pl b/challenge-273/cheok-yin-fung/perl/ch-2.pl new file mode 100644 index 0000000000..8bb8f81ef9 --- /dev/null +++ b/challenge-273/cheok-yin-fung/perl/ch-2.pl @@ -0,0 +1,20 @@ +# The Weekly Challenge 273 +# Task 2 B After A +use v5.30.0; +use warnings; + +sub ab { + my $str = $_[0]; + my $ind = index($str, "b"); + my $ans = $ind >= 0 ? 1 : 0; + my $ind_a = index($str, "a", $ind); + $ans = $ans && ($ind_a >= 0 ? 0 : 1); + return $ans; +} + +use Test::More tests=>5; +ok ab("aabb"); +ok !ab("abab"); +ok !ab("aaa"); +ok ab("bbb"); +ok !ab("ccc"); |
