Die Namenskonventionen für Spiele in der Super Mario-Reihe sind sehr seltsam und stimmen nicht zwischen Regionen überein.
| Japanese Name | American Name |
|---------------------|------------------------------------|
| Super Mario Bros. | Super Mario Bros. |
| Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels |
| Super Mario USA | Super Mario Bros. 2 |
| Super Mario Bros. 3 | Super Mario Bros. 3 |
| Super Mario Bros. 4 | Super Mario World |
Was für ein Chaos!
Herausforderung:
Geben Sie bei einer Zeichenfolge, die aus dem japanischen Namen eines Super Mario-Spiels besteht, den entsprechenden amerikanischen Namen aus. Sie können die japanische Zeichenfolge mit einer angemessenen Methode eingeben und die amerikanische Zeichenfolge (optional mit einer neuen Zeile) mit einer angemessenen Methode ausgeben.
Sie müssen die oben angegebenen genauen Zeichenfolgen verwenden. Standardlücken sind verboten!
Der kürzeste Code (in Bytes) ist der Gewinner.
code-golf
string
kolmogorov-complexity
game
Julian Lachniet
quelle
quelle
Antworten:
sed, 52
Unkomplizierter Austausch:
Probieren Sie es online aus .
quelle
s/B.*4/World/
.Retina, 43
Direkter Port meiner sed Antwort :
Probieren Sie es online aus .
quelle
B.*4
statt\S* 4
.JavaScript (ES6),
8281 BytesProbieren Sie es online!
Wie?
quelle
PHP, 81 Bytes
Probieren Sie es online!
quelle
JavaScript (ES6), 84 Byte
Code-Snippet anzeigen
quelle
[r='replace']
Trick.[]
Arbeit als Funktion?object.property
oderobject['property']
. 2) Eine Methode eines Objekts ist eine Eigenschaft, der eine Funktion zugewiesen ist. 3) Unter der Haube verwandelt JS einen primitiven Typ wie einen String kurz in ein Objekt, wenn eine Eigenschaftszugriffssyntax verwendet wird. Fazit: Wenn wir all das kombinieren, können wir verstehen, warums['replace']()
genau das tut, was es verspricht.Python 2 ,
9692 BytesProbieren Sie es online!
quelle
Japt , 48 Bytes
Probieren Sie es online!
Erläuterung:
Japt verwendet die Shoco-Bibliothek zur Komprimierung von Strings. Backticks werden zum Dekomprimieren von Strings verwendet.
quelle
R, 86 Bytes
quelle
Jelly ,
4443 BytesEin vollständiges Programm, das das Ergebnis druckt.
Probieren Sie es online!
Wie?
quelle
Mathematica, 80 Bytes
Anonyme Funktion. Nimmt einen String als Eingabe und gibt einen String als Ausgabe zurück.
quelle
Python 3: 111 Bytes
Ruft Benutzereingaben ab, führt eine Reihe von regulären Ersetzungen durch und druckt das Ergebnis aus.
quelle
from re import*
stattdessen tunfrom re import sub as r
. Dann würde die zweite Zeileprint(sub(" USA","Bros. 2",sub(" 2",": The Lost Levels",sub("Bros. 4","World",input()))))
Los , 134 Bytes
Probieren Sie es online!
Da Go keine Standardwerte für Argumente unterstützt, müssen Sie diese
1
jedes Mal manuell übergeben .quelle
Batch,
23799 BytesAngenommen, die Eingabe ist in der Frage im genauen Format
quelle
Pascal (FPC) ,
184182 BytesProbieren Sie es online!
Erläuterung:
z
Ist das Array, das 5 mögliche Ausgaben enthält, müssen wir nur den Weg finden, um es zu indizieren. Mir sind 2 Parameter aufgefallen, die zur Unterscheidung von Eingaben verwendet werden können. Der erste Teil ist die Länge der Eingabe:Nur 3 Eingänge haben die gleiche Länge von Mod 5. Der zweite Teil ist, dass an Position 19 in den Eingängen
2
,3
und4
haben aufeinander folgende Codepunkte, so dass sie leicht den Rest der Indizes auszufüllen verwendet werden , während die restlichen 2 Eingänge sind kürzer.Der
String
TypShortString
hat standardmäßig eine Kapazität von 255 Zeichen, die alle mit Nullen initialisiert sind. Daher kann er sicher fürt[19]
alle Zeichenfolgen verwendet werden, und sein Codepunkt ist 0 für kürzere Zeichenfolgen. Für die Indizierung wird nichts geändert. Die Indizes für kürzere Zeichenfolgen sind also 0 und 2. Deshalb müssen wir Indizes 1, 3 und 4 aus2
,3
und4
.quelle
05AB1E , 37 Bytes
Probieren Sie es online aus oder überprüfen Sie alle Testfälle.
Erläuterung:
Weitere Informationen finden Sie
“:€€‹×Œä“
hier": the lower levels"
.'„À
ist"usa"
; und'‚ï
ist"world"
.quelle