Ruby Array Exercises: Check whether a given array contains a 3 next to a 3 or a 5 next to a 5, but not both
Write a Ruby program to check whether a given array contains a 3 next to a 3 or a 5 next to a 5, but not both.
Ruby Code:
def check_array(nums)
no3pair = 1
no5pair = 1
i = 0;
while i < nums.length && (no3pair + no5pair != 0)
if(nums[i] == 3 && nums[i+1] == 3)
no3pair = 0
elsif(nums[i] == 5 && nums[i+1] == 5)
no5pair = 0
end
i = i + 1
end
return ((no3pair ^ no5pair) == 1)
end
print check_array([3, 3, 7, 5]),"\n"
print check_array([3, 8, 5, 9]),"\n"
print check_array([3, 7, 5, 5]),"\n"
Output:
true false true
Flowchart:
Ruby Code Editor:
Contribute your code and comments through Disqus.
Previous: Write a Ruby program to check whether a given value appears everywhere in an given array. A value is "everywhere" in an array if it presents for every pair of adjacent elements in the array.
Next: Write a Ruby program to check whether a given array of integers contains two 6's next to each other, or there are two 6's separated by one element, such as {6, 2, 6}.
What is the difficulty level of this exercise?
- Weekly Trends and Language Statistics
- Weekly Trends and Language Statistics