coding for food

[Ruby] exercise _ Vowel Cipher

silveryen 2022. 8. 7. 09:57

Write a method vowel_cipher that takes in a string and returns a new string where every vowel becomes the next vowel in the alphabet.

# my code

def vowel_cipher(string)
  vowel = "aeiou"
  new_str = ""
  string.each_char do |char|
  	if vowel.include?(char)
      new_idx = vowel.index(char) + 1
      new_str += vowel[new_idx % 5]
    else
      new_str += char
    end
    
  end
  
  return new_str

end

puts vowel_cipher("bootcamp") #=> buutcemp
puts vowel_cipher("paper cup") #=> pepir cap
# solution

def vowel_cipher(string)
  vowels = "aeiou"

  new_chars = string.split("").map do |char|
    if vowels.include?(char)
      old_idx = vowels.index(char)
      new_idx = old_idx + 1
      vowels[new_idx % vowels.length]
    else
      char
    end
  end

  return new_chars.join("")
end

puts vowel_cipher("bootcamp") #=> buutcemp
puts vowel_cipher("paper cup") #=> pepir cap