Erstellen Sie die kürzeste Funktion, um eine Zeichenfolge aus römischen Ziffern in eine Ganzzahl umzuwandeln .
Die Regeln für jeden Buchstaben finden Sie auf der Wikipedia-Seite . Bei Buchstaben über 1.000 werden Klammern gesetzt, um den höheren Wert anzuzeigen.
Bedarf:
- Muss römische Ziffern 1 in 500.000 konvertieren
- Muss in weniger als einer Minute abgeschlossen sein
- Verwendet keine integrierten Funktionen, die einen Vorteil bieten könnten (Beispiel: Eine Funktion, die römische Zahlen in Ganzzahlen konvertiert)
- Ist eine Funktion
Die Funktion muss keine Brüche unterstützen. Jede ungültige Eingabe sollte die Nummer 0 zurückgeben.
Kürzeste Funktion gewinnt. Bei einem Gleichstand gewinnt derjenige mit den meisten Stimmen.
Testfälle
Eingang
III
Ausgabe
3
Eingang
IIII
Ausgabe
0
Eingang
XVI
Ausgabe
16
Eingang
(C)(D)(L)MMI
Ausgabe
452001
code-golf
math
function
roman-numerals
Kevin Brown
quelle
quelle
(C)(D)(L)MMI
wäre 452.001. Wie sind Sie auf Ihren Wert gekommen? Muss dies zusätzlich "falsche" Formulare unterstützen (zBIC
stattXCIX
)?Antworten:
C ++:
914855 ZeichenEs könnte weiter komprimiert werden.
Etwas schönere Formatierung: 1582 Zeichen
quelle
Javascript, 317 Zeichen
Erklärung:
Ohne Fehlererkennung sind es nur 180 Zeichen
Das funktioniert genauso, aber hier ist eine bessere Formatierung:
quelle