TheAlgorithms-Ruby/data_structures/arrays/max_69_number.rb

41 lines
950 B
Ruby
Raw Normal View History

2021-06-16 01:14:06 +02:00
# Challenge name: Maximum 69 number
#
2021-09-03 22:24:58 +02:00
# Given a positive integer num consisting only of digits 6 and 9.
2021-06-16 01:14:06 +02:00
# Return the maximum number you can get by changing at most one digit (6 becomes 9, and 9 becomes 6).
#
# Example 1:
# Input: num = 9669
# Output: 9969
# Explanation:
# Changing the first digit results in 6669.
# Changing the second digit results in 9969.
# Changing the third digit results in 9699.
# Changing the fourth digit results in 9666.
# The maximum number is 9969.
#
# Example 2:
# Input: num = 9996
# Output: 9999
2021-06-16 01:24:34 +02:00
# Explanation: Changing the last digit 6 to 9 results in the maximum number.
#
# Approach 1: Logical Approach
# Explanation: Changing the first available 6 to a 9 will give the max number
#
def max_number(num)
arr = num.to_s.split('')
arr.each_with_index do |num, i|
if num == '6'
arr[i] = '9'
return arr.join.to_i
end
end
end
puts max_number(9669)
# => 9969
puts max_number(9996)
2021-09-03 22:24:58 +02:00
# => 9999