coding for food
[Ruby] exercises _ Is Valid Name
silveryen
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