Schweinelatein ist eine erfundene Sprache, in die übersetzt wird, indem der erste Buchstabe eines Wortes an das Ende verschoben ay
und am Ende hinzugefügt wird . Zum Beispiel: hello
übersetzt in Schweinelatein als ellohay
. Wenn Sie also Schweinelatein wieder ins Englische übersetzen, wird das ay
am Ende gelöscht und der letzte Buchstabe an den Anfang verschoben (wie oodbyegay
bei goodbye
). Beim Schreiben schreiben einige Leute ein -
Ende, bevor sie den ersten Buchstaben aus Gründen der Klarheit verschieben, sodass er (zum Beispiel) ello-hay
statt ellohay
für lautet hello
. Wir werden diese Version mit Bindestrich für diese Herausforderung verwenden.
Zielsetzung
Löse eine Schweinelateinschnur.
Anleitung
Schreiben Sie ein Programm / eine Funktion mit einem Argument, einem einzelnen Wort in Form einer Zeichenfolge. Wenn dieses Wort in Schweinelatein ist, muss das Programm / die Funktion return
das Nichtschweinlateinwort ausgeben (dh drucken). Wenn es kein Schweinelatein ist, geben Sie das Wort unverändert aus.
Schweinelatein für diese Herausforderung wird im folgenden Format vorliegen:
ello-hay
Wenn das Wort endet -*ay
, ist es Schweinelatein, wobei das *
ein einzelnes Platzhalterzeichen ist.
Nicht-Buchstaben-Zeichen sollten wie normale Buchstaben behandelt werden. Ignorieren Sie bei mehreren Strichen alle außer den letzten.
Beispiele
Verwendung der fiktiven unpig()
Python-Funktion für die Demo.
unpig("ello-hay") #=> hello
unpig("hello-world") #=> hello-world
unpig("hello") #=> hello
unpig("pple-aay") #=> apple
unpig("apple") #=> apple
unpig("ig-Stay") #=> ig-Stay (+1 to ETHproductions for noticing.)
unpig("ello----hay") #=> hello---
unpig("la$s-gay") #=> gla$s
unpig("ig-pay-yay") #=> yig-pay
Regeln
- Es gelten Standardlücken
- Dies ist Code-Golf , also gewinnt der kürzeste Code.
- Eingebaute Funktionen (speziell für diesen Zweck) sind nicht zulässig.
- Header verwenden
# Language, XX bytes
PHP , 61 Bytes
Probieren Sie es online aus!
PHP , 46 Bytes
ohne Funktion
Probieren Sie es online aus!
quelle
Python 2 ,
4846 Bytes-2 Bytes dank xnor.
Dies sind anonyme Lambda-Funktionen, die beispielsweise zugewiesen werden können
unpig
.Probieren Sie es online aus!
Regex-Lösung, 49 Bytes
Probieren Sie es online aus!
quelle
and/or
wenn kein Kurzschluss erforderlich ist. Die Auswahl aus einer Liste funktioniert und ist kürzer.Python 2.7,
685552 BytesVerwendet einen ternären Operator.
-13 Bytes dank Officialaimm und einer Aktualisierung der Regeln.
-3 Geänderter ternärer Operator. Siehe https://stackoverflow.com/a/470376/3210045 .
quelle
s[0:len(s)-4]
kann durch nur ersetzt werdens[:-4]
. Und wenige Leerzeichen können durch Drücken]if
und"else
05AB1E , 15 Bytes
Probieren Sie es online aus!
θ
wird durch®è
auf TIO ersetzt, da es dort noch nicht gezogen wurde.quelle
Japt , 18 Bytes
Genau der gleiche RegEx-Ersatz wie alle anderen, zuerst veröffentlicht von Arnauld
Probier es aus
quelle
q$/-(.)ay/$ w q
für 15, aber leider schlägt das bei Eingaben fehl, die mehrere Kopien von enthalten-<char>ay
(es korrigiert sie alle und nicht nur die letzten). NaGelee ,
2217 BytesProbieren Sie es online aus!
quelle
Perl 6 , 22 Bytes
Grundlegende Lösung für reguläre Ausdrücke.
quelle
Python 3 ,
5960 Bytesig-payyay
Ausgaben gleich sind und nichtyig-pa
Probieren Sie es online aus!
quelle
Java (OpenJDK 8) , 146 Bytes
Probieren Sie es online aus!
quelle