[RUBY] Numéros de sécurité (édition rubis)

[Problème] Numéros sûrs (édition ruby)

problème

J'essaie d'éviter les numéros réguliers lorsque je pense aux mots de passe à 4 chiffres. Puisque la chaîne de mot de passe s composée de 4 chiffres est entrée, sortez "NG" s'il y en a deux ou plus du même nombre, et sortez "OK" dans le cas contraire.

Valeur à saisir

L'entrée est donnée dans le format suivant:

s

-La première ligne reçoit la chaîne de mot de passe s, qui se compose de quatre chiffres. -Le nombre total d'entrées est de un, et un saut de ligne est inséré à la fin de la dernière ligne de la valeur d'entrée.

Production attendue

Puisque la chaîne de mot de passe s composée de 4 chiffres est entrée, sortez "NG" s'il y en a deux ou plus du même nombre, et sortez "OK" dans le cas contraire.

Exemple d'entrée 1

2020

Exemple de sortie 1

NG

Exemple d'entrée 2

1234

Exemple de sortie 2

OK

Ma réponse

python


a = gets.chomp.chars
if (a.count - a.uniq.count) > 0
    puts "NG"
else
    puts "OK"
end

Dans la méthode chars sur la première ligne, si vous la comparez à l'exemple 1, elle est divisée caractère par caractère comme ["2" "0" "2" "0"].

Dans la deuxième ligne, si le nombre obtenu en soustrayant la valeur de retour 2 de a.uniq.count de la valeur de retour 4 de a.count est supérieur à 0, "NG" est affiché.

méthode uniq

Méthode qui supprime les éléments en double parmi les éléments d'un tableau et les renvoie en tant que tableau supprimé.

méthode de comptage

c'est tout!

Recommended Posts

Numéros de sécurité (édition rubis)
Compteur Manstep (édition Ruby)
Fizz Buzz (édition Ruby)
Plus petite valeur (édition rubis)
Q. Elevator (édition Ruby)
Construction d'environnement hors ligne Édition Ruby
Chute de caractères (édition rubis)
Méthode d'installation de Ruby on Rails [édition Mac]
[Ruby] Un programme qui détermine les nombres premiers
[Ruby] Exprimer les nombres n-aires sous forme de nombres commençant à 0
[Problème] Temps de vacances consécutif (édition Ruby)