#!/bin/ruby def minimumNumber(n, password) numbers = "0123456789" lower_case = "abcdefghijklmnopqrstuvwxyz" upper_case = "ABCDEFGHIJKLMNOPQRSTUVWXYZ" special_characters = "!@\#$%^&*()-+" special_characters_arr = special_characters.split('') # Return the minimum number of characters to make the password strong has_six = n >= 6 has_number = numbers.split('').any? { |word| password.include?(word) } has_lower = lower_case.split('').any? { |word| password.include?(word) } has_upper = upper_case.split('').any? { |word| password.include?(word) } has_special = special_characters.split('').any? { |word| password.include?(word) } #puts has_six, has_number, has_lower, has_upper, has_special after = [has_number, has_lower, has_upper, has_special].count{|t| !t } #puts after if has_six after else n + after >= 6 ? after : (after + (6 - n - after)) end end n = gets.strip.to_i password = gets.strip answer = minimumNumber(n, password) puts answer