diff options
| author | Mariano Spadaccini <spadacciniweb@gmail.com> | 2025-09-24 10:51:54 +0200 |
|---|---|---|
| committer | Mariano Spadaccini <spadacciniweb@gmail.com> | 2025-09-24 10:51:54 +0200 |
| commit | cd6ceb5b39df5b963dba47c245b98d6c594a8131 (patch) | |
| tree | df96117bcedb81365d753ce57c5e25271c5da30d | |
| parent | d69299bd49ea4de04cfeae86a5d20d39dee0c785 (diff) | |
| download | perlweeklychallenge-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.rb | 61 |
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 ) |
