aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMariano Spadaccini <spadacciniweb@gmail.com>2025-09-24 10:51:54 +0200
committerMariano Spadaccini <spadacciniweb@gmail.com>2025-09-24 10:51:54 +0200
commitcd6ceb5b39df5b963dba47c245b98d6c594a8131 (patch)
treedf96117bcedb81365d753ce57c5e25271c5da30d
parentd69299bd49ea4de04cfeae86a5d20d39dee0c785 (diff)
downloadperlweeklychallenge-club-cd6ceb5b39df5b963dba47c245b98d6c594a8131.tar.gz
perlweeklychallenge-club-cd6ceb5b39df5b963dba47c245b98d6c594a8131.tar.bz2
perlweeklychallenge-club-cd6ceb5b39df5b963dba47c245b98d6c594a8131.zip
Add ch-2 in Ruby
-rw-r--r--challenge-340/spadacciniweb/ruby/ch-2.rb61
1 files changed, 61 insertions, 0 deletions
diff --git a/challenge-340/spadacciniweb/ruby/ch-2.rb b/challenge-340/spadacciniweb/ruby/ch-2.rb
new file mode 100644
index 0000000000..faa6c18a62
--- /dev/null
+++ b/challenge-340/spadacciniweb/ruby/ch-2.rb
@@ -0,0 +1,61 @@
+# Task 2: Ascending Numbers
+# Submitted by: Mohammad Sajid Anwar
+#
+# You are given a string, $str, is a list of tokens separated by a single space. Every token is either a positive number consisting of digits 0-9 with no leading zeros, or a word consisting of lowercase English letters.
+# Write a script to check if all the numbers in the given string are strictly increasing from left to right.
+#
+# Example 1
+# Input: $str = "The cat has 3 kittens 7 toys 10 beds"
+# Output: true
+#
+# Numbers 3, 7, 10 - strictly increasing.
+#
+# Example 2
+# Input: $str = 'Alice bought 5 apples 2 oranges 9 bananas'
+# Output: false
+#
+# Example 3
+# Input: $str = 'I ran 1 mile 2 days 3 weeks 4 months'
+# Output: true
+#
+# Example 4
+# Input: $str = 'Bob has 10 cars 10 bikes'
+# Output: false
+#
+# Example 5
+# Input: $str = 'Zero is 0 one is 1 two is 2'
+# Output: true
+
+def ascending_numbers(str)
+ numbers = str.scan(/\d+/).map(&:to_i)
+ sorted = true
+ if (numbers.size > 0)
+ curr = numbers.shift
+ numbers.each { |i|
+ if (curr >= i)
+ print(curr, ' ', i, ' ')
+ sorted = false
+ break
+ end
+ curr = i
+ }
+ end
+
+ printf "'%s' -> %s\n", str, sorted
+
+end
+
+str = "The cat has 3 kittens 7 toys 10 beds"
+ascending_numbers( str )
+
+str = 'Alice bought 5 apples 2 oranges 9 bananas'
+ascending_numbers( str )
+
+str = 'I ran 1 mile 2 days 3 weeks 4 months'
+ascending_numbers( str )
+
+str = 'Bob has 10 cars 10 bikes'
+ascending_numbers( str )
+
+str = 'Zero is 0 one is 1 two is 2'
+ascending_numbers( str )