-
[Ruby] exercises _ Is Valid Namecoding for food 2022. 7. 31. 01:41
# A name is valid is if satisfies all of the following: # - contains at least a first name and last name, separated by spaces # - each part of the name should be capitalized # # Hint: use str.upcase or str.downcase # "a".upcase # => "A" def is_valid_name(str) end puts is_valid_name("Kush Patel") # => true puts is_valid_name("Daniel") # => false puts is_valid_name("Robert Downey Jr") # => true puts is_valid_name("ROBERT DOWNEY JR") # => false
my code
def is_valid_name(str) names = str.split(" ") if names.length < 2 return false end names.each do |name| if (name[0].upcase == name[0]) && (name[1..-1].downcase == name[1..-1]) return true else return false end end end puts is_valid_name("Kush Patel") # => true puts is_valid_name("Daniel") # => false puts is_valid_name("Robert Downey Jr") # => true puts is_valid_name("ROBERT DOWNEY JR") # => false
solution
def is_valid_name(str) parts = str.split(" ") if parts.length < 2 return false end parts.each do |part| if !is_capitalized(part) # 모든 기준을 통과한 part들만 true 로 return 되게끔 모든 false 를 지나 마지막 return 값을 얻을 수 있도록 구성한다. return false end end return true end def is_capitalized(word) if word[0] == word[0].upcase && word[1..-1] == word[1..-1].downcase return true else return false end end puts is_valid_name("Kush Patel") # => true puts is_valid_name("Daniel") # => false puts is_valid_name("Robert Downey Jr") # => true puts is_valid_name("ROBERT DOWNEY JR") # => false