[RAILS] Sichere Zahlen (Ruby Edition)

[Problem] Sichere Zahlen (Ruby Edition)

Problem

Ich versuche, reguläre Zahlen zu vermeiden, wenn ich an 4-stellige Passwörter denke. Da die aus 4 Ziffern bestehende Kennwortzeichenfolge s eingegeben wird, geben Sie "NG" aus, wenn zwei oder mehr derselben Nummer vorhanden sind, und geben Sie andernfalls "OK" aus.

Wert eingegeben werden

Die Eingabe erfolgt im folgenden Format:

s

-Die erste Zeile enthält die Kennwortzeichenfolge s, die aus vier Ziffern besteht. -Die Gesamtzahl der Eingaben beträgt eins, und am Ende der letzten Zeile des Eingabewerts wird ein Zeilenumbruch eingefügt.

Erwartete Ausgabe

Da die aus 4 Ziffern bestehende Kennwortzeichenfolge s eingegeben wird, geben Sie "NG" aus, wenn zwei oder mehr derselben Nummer vorhanden sind, und geben Sie andernfalls "OK" aus.

Eingabebeispiel 1

2020

Ausgabebeispiel 1

NG

Eingabebeispiel 2

1234

Ausgabebeispiel 2

OK

Meine Antwort

python


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

Wenn Sie es in der Zeichenmethode in der ersten Zeile mit Beispiel 1 vergleichen, wird es Zeichen für Zeichen wie ["2" "0" "2" "0"] geteilt.

Wenn in der zweiten Zeile die Zahl, die durch Subtrahieren des Rückgabewerts 2 von a.uniq.count vom Rückgabewert 4 von a.count erhalten wird, größer als 0 ist, wird "NG" ausgegeben.

uniq Methode

Eine Methode, die doppelte Elemente unter den Elementen eines Arrays löscht und sie als gelöschtes Array zurückgibt.

Zählmethode

das ist alles!

Recommended Posts

Sichere Zahlen (Ruby Edition)
Manstep Meter (Ruby Edition)
Fizz Buzz (Ruby Edition)
Kleinster Wert (Ruby Edition)
Q. Aufzug (Ruby Edition)
Offline-Umgebungskonstruktion Ruby Edition
Zeichen fallen lassen (Ruby Edition)
Ruby on Rails-Installationsmethode [Mac Edition]
[Ruby] Ein Programm, das Primzahlen bestimmt
[Ruby] Drücken Sie n-ary Zahlen als Zahlen ab 0 aus
[Problem] Aufeinanderfolgendes Urlaubswetter (Ruby Edition)