Konzept
Sich an Zahlen zu erinnern kann schwierig sein. Das Erinnern an ein Wort kann einfacher sein. Um große Zahlen auswendig zu lernen, habe ich eine Art und Weise entwickelt, wie man sie leetsprachig ausspricht.
Regeln
Jede Ziffer wird zuerst durch den entsprechenden Buchstaben ersetzt:
0 => O
1 => I
2 => R
3 => E
4 => A
5 => S
6 => G
7 => T
8 => B
9 => P
Nach dem Ersetzen werden zwei zusätzliche Schritte ausgeführt, um die Aussprache zu verbessern:
Zwischen zwei Konsonanten wird a
U
hinzugefügt.Zwischen zwei Vokalen wird a
N
hinzugefügt.
Beispiele / Testfälle
512431 => SIRANENI
834677081 => BENAGUTUTOBI
3141592 => ENINANISUPUR
1234567890 => IRENASUGUTUBUPO
6164817 => GIGABIT
Was ist unmöglich
- Buchstaben und Zahlen in einem Wort gemischt
- Zwei aufeinanderfolgende Konsonanten oder zwei aufeinanderfolgende Vokale
- Buchstaben, die nicht in der obigen Liste enthalten sind
- Andere Charaktere
Regeln
Das Ziel dieses Code-Golfs ist es, einen Zwei-Wege-Übersetzer für dieses Konzept zu erstellen.
- Ihr Programm muss zunächst von selbst verstehen, ob es sich um eine Buchstaben-zu-Zahlen- oder eine Zahlen-zu-Buchstaben-Übersetzung handelt.
- Es muss überprüft werden, ob der Eintrag ordnungsgemäß erstellt wurde.
- Wenn alles korrekt ist, zeigen Sie die Übersetzung an.
- Anderenfalls wird eine Fehlermeldung angezeigt, nichts, ein falscher Wert wird zurückgegeben oder das Programm stürzt ab.
Einzelheiten
- Die eingegebene Nummer / Zeichenkette kann in einem beliebigen Format eingegeben werden (stdin, argument, ...)
- Das ist Code-Golf , also gewinnt die kürzeste Antwort.
- Standardlücken sind verboten.
AB23
. AEI
; BB
; Z
; ACE
; giga
; !@#$
; -123
; usw. Basierend auf den Validierungsregeln können wir auch konvertieren 6164735732 => GIGATESTER
, führen aber GIGATESTER
aufgrund von ST
(Regel mit zwei aufeinanderfolgenden Konsonanten) zu einem falschen Wert . Die Art und Weise, wie Ihre Herausforderung derzeit eingerichtet ist, ist der Hauptteil der Herausforderung die Validierung anstelle der Konvertierung. Ich bin damit einverstanden, aber die Validierung sollte in diesem Fall etwas besser definiert werden.
GIGATESTER
seinGIGATESUTER
?