aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRikedyP <rikedyp@gmail.com>2025-09-22 15:58:18 +0100
committerRikedyP <rikedyp@gmail.com>2025-09-22 15:58:18 +0100
commitffb20c09ebc3e739a4e6dad7ec7eb08f045ae1b9 (patch)
tree63edb7f53df2b4a6e0ec3204179bca978201475c
parentc4e70544812c339e0344ad3127de18a5dbf98c34 (diff)
downloadperlweeklychallenge-club-ffb20c09ebc3e739a4e6dad7ec7eb08f045ae1b9.tar.gz
perlweeklychallenge-club-ffb20c09ebc3e739a4e6dad7ec7eb08f045ae1b9.tar.bz2
perlweeklychallenge-club-ffb20c09ebc3e739a4e6dad7ec7eb08f045ae1b9.zip
week 340 in APL
-rw-r--r--challenge-340/richard-park/apl/AscendingNumbers.aplf15
-rw-r--r--challenge-340/richard-park/apl/DuplicateRemovals.aplf15
2 files changed, 30 insertions, 0 deletions
diff --git a/challenge-340/richard-park/apl/AscendingNumbers.aplf b/challenge-340/richard-park/apl/AscendingNumbers.aplf
new file mode 100644
index 0000000000..cd34989af3
--- /dev/null
+++ b/challenge-340/richard-park/apl/AscendingNumbers.aplf
@@ -0,0 +1,15 @@
+ AscendingNumbers←{
+
+ AN←{
+ ∧/2</⊃(//⎕VFI)⍵
+ }
+
+⍝ Tests
+ 1≢AN'The cat has 3 kittens 7 toys 10 beds':∘∘∘
+ 0≢AN'Alice bought 5 apples 2 oranges 9 bananas':∘∘∘
+ 1≢AN'I ran 1 mile 2 days 3 weeks 4 months':∘∘∘
+ 0≢AN'Bob has 10 cars 10 bikes':∘∘∘
+ 1≢AN'Zero is 0 one is 1 two is 2':∘∘∘
+
+ 'All tests passed.'
+ }
diff --git a/challenge-340/richard-park/apl/DuplicateRemovals.aplf b/challenge-340/richard-park/apl/DuplicateRemovals.aplf
new file mode 100644
index 0000000000..36a68192fe
--- /dev/null
+++ b/challenge-340/richard-park/apl/DuplicateRemovals.aplf
@@ -0,0 +1,15 @@
+ DuplicateRemovals←{
+ DR←{
+ 0∊⍴⍵:⍵
+ ~∨/2=/⍵:,⍵
+ ∇ ⍵⌿⍨~1(⊢∨⌽)0,2=/⍵
+ }
+⍝ Tests
+ 'ca'≢DR'abbaca':∘∘∘
+ 'ay'≢DR'azxxzy':∘∘∘
+ ''≢DR'aaaaaaaa':∘∘∘
+ (,'a')≢DR'aabccba':∘∘∘ ⍝ Our function always returns a vector
+ ''≢DR'abcddcba':∘∘∘
+
+ 'All tests passed.'
+ }