Eigentlich nicht weder von inspiriert Atbash Selbst Palindrome noch von Generalized Gematria Calculator .
Bei einem String s der Länge n wird die Revu'a-Sequenz ausgegeben , bei der es sich um das erste Zeichen von s , die ersten beiden Zeichen von s , ... die ersten n –2 Zeichen von s und die ersten n –1 Zeichen von s handelt das ganze s .
Die Zeichenfolge besteht nur aus Unicode-Zeichen (beliebige Codierung), die eine starke Richtungsabhängigkeit aufweisen und im Bereich von 0x0000 bis 0xFFFF liegen. Es werden jedoch keine Richtungssteuerzeichen angezeigt. Alle Zeichen in einer bestimmten Zeichenfolge haben dieselbe Richtung.
Sie können in Array - Schreibweise zurückzukehren ["t","te","tes","test"]
, als ein Leerzeichen getrennte Zeichenfolge "t te tes test"
, wie mehrzeiligen Text t
te
tes
test
, einem vorformatierten Array
t te tes Prüfungoder ähnliches. Die Anzahl der führenden, trennenden und nachfolgenden Abstände ist nicht wichtig, ebenso wenig wie die Anzahl der nachfolgenden Zeilenumbrüche. Fragen Sie im Zweifelsfall.
Bei der Eingabe von rechts nach links muss die Ausgabe von rechts nach links in der richtigen Reihenfolge erfolgen:
Eingabe: "נחמן"
Ausgabe: "נ נח נחמ נחמן"
oder
נ נח נחמ נחמנחoder
["נ","נח","נחמ","נחמן"]
. Unter ungültigen Ergebnissen sind "נחמן נחמ נח נ"
, "ן מן חמן נחמן"
und "נחמן חמן מן ן"
.
JavaScript (ES6),
272625 ByteDank @nicael und @ MartinBüttner ein Byte gespart, dank @Neil ein Byte
Nutzt einige integrierte Funktionen von JS
.replace
. Insbesondere wird in der Ersetzung$`
alles vor dem übereinstimmenden Zeichen. Wenn Sie den regulären Ausdruck verwenden, bedeutet dies/.?/g
nicht,/./g
dass er auch mit der leeren Zeichenfolge am Ende übereinstimmt.quelle
f=x=>x.replace(/.?/g,"$
")`. Sie erhalten einen zusätzlichen führenden Platz, aber das ist erlaubt.Japt,
104 BytesIch wusste nicht, dass eine kumulative Reduzierung in diesem Fall so nützlich wäre. :-)
Ausgaben als Array, standardmäßig durch Kommas getrennt. Wenn dies nicht zulässig ist, verwenden Sie stattdessen diesen 6-Byte-Code:
Probieren Sie es online!
Wie es funktioniert
quelle
Brainfuck, 40 Bytes
Meine Konsole unterstützt keine Zeichen von rechts nach links, aber ich denke nicht, dass es funktionieren wird: c
Ungolfed:
quelle
Retina,
117 BytesDie Ausgabe ist durch Leerzeichen getrennt, mit einem führenden Leerzeichen und einem nachfolgenden Zeilenvorschub.
Probieren Sie es online!
quelle
perl -pE 's/./$
$ & \ n / g'`. (Ich bin 11 Monate zu spät, ich weiß)Python, 35
Es konnte keine Möglichkeit gefunden werden,
and/or
die Rekursion zu vereinfachen, da dies[]
falsch ist.Bei einer rekursiven Lösung wird eine Liste von Zeichenfolgen zurückgegeben.
Probieren Sie es online aus
quelle
Prolog (SWI),
6049 BytesCode:
Erklärt:
atom_prefix mit X als Eingabe und S als Variable gibt 1 Präfix des Atoms X beginnend mit dem leeren Atom an.
findall holt alle Lösungen und listet sie auf.
[_ | R] wirft den Kopf (das leere Atom) weg und speichert den Schwanz in R
Beispiele:
Probieren Sie es hier online aus
Bearbeiten: 11 Bytes gespart, indem nur der Schwanz in R gespeichert wird .
quelle
Pyth, 3
Prefix Builtin macht den Trick.
Test Suite
quelle
GNU Sed, 21
Die Punktzahl enthält +1 für die
-E
Option zu sed:Funktioniert für LTR, aber nicht für RTL - das habe ich verpasst.. Eigentlich ist es tut Arbeit wurde die RTL - Rendering einfach nicht richtig in meinem Terminal. Es funktioniert gut mit IO in einem vernünftigen Texteditor (z. B. Emacs) angezeigt. Es funktioniert auch in Ideone:Probieren Sie es online aus.
quelle
Brachylog , 5 Bytes (nicht konkurrierend)
Probieren Sie es online!
Erläuterung
Von rechts nach links verlaufende Zeichenfolgen scheinen einwandfrei zu funktionieren, obwohl ich sie nie in Betracht gezogen habe.
quelle
@[
und@w
wurden unbedingt nach April / Mai 2016 implementiert. Das genaue Datum konnte man auf den Github-Commits finden, aber es ist sicher nicht, bevor diese Challenge eingereicht wurde.CJam, 9 Bytes
Der Ausgang ist zeilenweise getrennt.
Teste es hier.
Erläuterung
quelle
Ll{+_p}/;
ist gleich lang und postet, weil ich nicht sicher bin, ob jemand mit mehr Erfahrung in der Lage sein könnte, mehr Golf zu spielen, und vielleicht auch die Sache mit den Anführungszeichen zuJavaScript, 36 Bytes
Demo:
Das Prinzip besteht darin, die Zeichenfolge vom ersten Zeichen bis zu jedem Zeichen im Wort abzubilden und auszugeben. Überraschenderweise funktioniert dies auch für die RTL-Strings perfekt, es ist keine Optimierung erforderlich.
quelle
Meine Konsole unterstützt keine Zeichen von rechts nach links, aber ich denke nicht, dass es funktionieren wird: c
C, 74 Bytes (2. Eintrag)
Ungolfed:
quelle
Meine Konsole unterstützt keine Zeichen von rechts nach links, aber ich denke nicht, dass es funktionieren wird: c
C, 105 Bytes (3. Eintrag)
Ungolfed:
quelle
TI-BASIC, 18 Bytes
Nicht technisch gültig: TI-BASIC unterstützt Unicode nicht.
Benennen Sie dies
prgmA
und geben Sie es mit einAns
.Die Programmrekursion wäre kürzer, die Variablen könnten jedoch nicht initialisiert werden. Daher zeigen wir bei jeder Iteration eine Teilzeichenfolge der Eingabe an. Die Eingabe wird nie überschrieben, da Disp keinen Wert zurückgibt.
Schließlich wird das Programm mit einem Fehler beendet, nachdem der gesamte String gedruckt wurde.
quelle
Python, 54 Bytes
quelle
Java 7,
9592 BytesVorherige Antwort ( 95 Bytes ):
Ich habe einen rekursiven Ansatz versucht, aber ich konnte ihn nicht wirklich zum Laufen bringen. Vielleicht wird jemand anderes (kürzer als diese for-Schleife).
Ungolfed & Testfälle:
Probieren Sie es hier aus.
Ausgabe:
quelle
Dip , 1 Byte (nicht konkurrierend)
Erläuterung:
quelle
MATL , 8 Bytes
Verwendet die aktuelle Version (8.0.0) von Sprache / Compiler
Beispiel
Erläuterung
quelle
Mathematica, 29 Bytes
TODO: Erklärung
quelle
𝔼𝕊𝕄𝕚𝕟, 7 Zeichen / 16 Bytes
Try it here (Firefox only).
Es gibt wahrscheinlich irgendwo eine eingebaute Lösung dafür - ich habe sie einfach nicht gefunden.
Erläuterung
quelle
Javascript ES6, 29 Bytes
Das ist nichts zu gewinnen, aber es ist eine einfache Lösung.
quelle
Pyth, 11 Bytes
Versuch es
Erläuterung
quelle
Python, 32 Bytes
Rekursive Funktion, die eine durch Leerzeichen getrennte Zeichenfolge mit einem führenden Leerzeichen ausgibt.
Ein 34-Byte-Programm (Python 2):
quelle
V , 5 Bytes (nicht konkurrierend)
Probieren Sie es online!
Diese Sprache ist neuer als die Herausforderung und macht diese Antwort nicht konkurrierend. Erläuterung:
quelle
PowerShell v2 +, 28 Byte
Nimmt Eingaben auf
$args[0]
,char
wandelt sie als -array um und leitet die Zeichen in eine Schleife|%{...}
. Jede Iteration wird$o
über+=
das aktuelle Zeichen akkumuliert$_
. Dieser Ausdruck ist in Parens eingekapselt, sodass eine Kopie in die Pipeline eingefügt wird. Am Ende der Ausführung wird die PipelineWrite-Output
geleert, wodurch eine neue Zeile zwischen den Elementen eingefügt wird.quelle
PHP, 59 Bytes
Online Version
quelle
Unerwünscht, unnötig, opportunistisch , 9 Bytes
quelle