Jimmy war letzte Woche mit all diesen Plattformen und Seilen beschäftigt , und der arme Jimmy hat nicht einmal Beine oder Füße, auf denen er stehen kann!
Ihre Aufgabe ist es, eine Schnur mit mehreren Jimmys zu nehmen und ihnen Beine und Schuhe zu geben!
Erhalten Sie Eingaben in Form eines Jimmy-Strings
Jimmy String => /o\ /o\ /o\
enthält nur /o\
und
Geben Sie jedem Jimmy in der Eingabe ein Paar Füße, die so aussehen:
/o\
_/ \_
Verwandeln Sie die eingegebene Jimmy-Saite mit schwebendem Kopf wie folgt in Jimmy mit Fußsaite:
// Input
/o\ /o\ /o\
// Output
/o\ /o\ /o\
_/ \_ _/ \_ _/ \_
Wenn 2 Jimmys nahe beieinander liegen, müssen sie sich bewegen, um Platz zu schaffen. Jimmys bewegt sich immer nach rechts, um Platz für andere Jimmys zu schaffen.
// Input
/o\/o\
// Output
/o\ /o\
_/ \__/ \_
Andere Jimmys, die weiter entfernt sind, dürfen nur bewegt werden, wenn dies erforderlich ist
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \_ _/ \_
// Input
/o\/o\ /o\
// Output
/o\ /o\ /o\
_/ \__/ \__/ \_
Es gelten Standardregeln und Lücken,
Dies ist Code-Golf, also kann die kürzeste Antwort gewinnen.
/o\<sp>/o\<sp><sp><sp><sp><sp><sp><sp><sp>/o\/o\
Meine aktuelle Implementierung schlägt fehl, da die letzten beiden Jimmies nach links statt nach rechts verschoben werden. Alle Ihre Testfälle sind jedoch erfolgreich.Antworten:
Python 2 ,
131120115114121118 BytesProbieren Sie es online aus!
4 Bytes danke an movatica ; 10 Bytes für die Fehlerbehebung verloren.
quelle
o+=2-len(g)
spart Ihnen ein ByteRuby
-p
,7775 BytesDie Regel "Jimmy nicht bewegen, wenn sie nicht gebraucht wird" war eine ziemliche Tortur, aber ich denke, sie hat ganz gut geklappt. Zumindest um einiges kürzer als Python (zum Zeitpunkt des Schreibens).
-2 Bytes von rekursiv.
Probieren Sie es online aus!
quelle
\S+
anstelle von verwenden\/\S*
?PowerShell , 96 Byte
Probieren Sie es online aus!
Abgerollt:
quelle
Python 2 ,
152148140 BytesProbieren Sie es online aus!
quelle
Holzkohle , 28 Bytes
Probieren Sie es online aus! Der Link führt zur ausführlichen Version des Codes. Erläuterung:
Drucken Sie ein Leerzeichen, um den automatischen linken Rand von Charcoal zu umgehen.
Schlaufe über alle linken Arme.
Springe zum gewünschten linken Fuß. Beachten Sie, dass Holzkohle kein Problem beim Zeichnen hat
(-1, 1)
, aber die Frage lässt dies nicht zu. Daher müssen wir darauf achten, das Zeichnen an negativen Positionen zu vermeiden.Gehen Sie an einer vorhandenen Ausgabe vorbei.
Geben Sie die Füße aus und bewegen Sie sich dann, um den Jimmy auszugeben.
quelle
Netzhaut ,
4037 BytesProbieren Sie es online aus!
Vielen Dank an Value Ink für das Golfen von 3 Bytes.
quelle
(\\ ?|^)(/\S*) ?
ist kürzer als die in Ihrer ersten Zeile und sollte die gleichen Ergebnisse liefern (wahrscheinlich; ich kenne Retina überhaupt nicht)Stax ,
29282425 BytesFühren Sie es aus und debuggen Sie es
Es gab einen Fehler in der 24-Byte-Lösung, der in einigen Fällen einige Off-by-1-Fehler verursachte.
quelle
JavaScript (ES6), 107 Byte
Probieren Sie es online aus!
quelle