Kontynuując mój To był tylko błąd :
Wejście:
Ciąg składający się z drukowalnych znaków ASCII bez białych spacji ani nowych wierszy.
Wynik:
Najpierw zmień dane wejściowe na palindrom, odwracając dane wejściowe i dodając je przed sobą, z wyłączeniem środkowego znaku (tzn. Z wejściem 1234567890
stanie się 0987654321234567890
).
A następnie wyślij ten tekst:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
(Od środka na zewnątrz w obu kierunkach każdy znak jest oddzielony o jedną spację więcej niż poprzedni wiersz).
Zasady konkursu:
- Musisz wydrukować podwójną długość wejścia, minus 3 linie. Tak więc z wejściem
1234567890
, wyjście wyświetlane powyżej to 17 linii (długość 10 * 2 - 3). - Dane wejściowe będą zawierały tylko ASCII do wydruku (bez spacji, tabulacji i nowego wiersza).
- Spacje końcowe są opcjonalne.
- Pojedyncza nowa linia jest opcjonalna.
- (Dodatkowe) wiodące spacje lub wiodące nowe linie nie są dozwolone.
- Możesz założyć, że dane wejściowe zawsze będą miały co najmniej cztery znaki.
- W przeciwieństwie do mojego To było tylko wyzwanie, zarówno formaty wejściowe, jak i wyjściowe są elastyczne. Zatem możesz wyświetlać wynik jako tablicę łańcuchów, listę łańcuchów itp.
Główne zasady:
- To jest golf golfowy , więc wygrywa najkrótsza odpowiedź w bajtach.
Nie pozwól, aby języki gry w golfa zniechęcały Cię do publikowania odpowiedzi w językach niekodujących golfa. Spróbuj znaleźć możliwie najkrótszą odpowiedź na „dowolny” język programowania. - Do odpowiedzi mają zastosowanie standardowe reguły , więc możesz używać STDIN / STDOUT, funkcji / metody z odpowiednimi parametrami i zwracanymi typami, pełnych programów. Twoja decyzja.
- Domyślne luki są zabronione.
- Jeśli to możliwe, dodaj link z testem swojego kodu.
- W razie potrzeby dodaj również wyjaśnienie.
Przypadki testowe:
Input: 1234567890
Output:
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0987654321234567890
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
0 9 8 7 6 5 4 3 2 1 2 3 4 5 6 7 8 9 0
Input: ABCD
Output:
D C B A B C D
D C B A B C D
DCBABCD
D C B A B C D
D C B A B C D
Input: =>)}]
Output:
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
]})>=>)}]
] } ) > = > ) } ]
] } ) > = > ) } ]
] } ) > = > ) } ]
Input: XXxxXX
Output:
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
XXxxXXXxxXX
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
X X x x X X X x x X X
Odpowiedzi:
Węgiel drzewny , 14 bajtów
Wypróbuj online!
AST:
źródło
Japt ,
2221 bajtówPrzetestuj online!
Wyjaśnienie
Pierwsze 8 bajtów generuje prawą dolną ćwiartkę wzoru:
W tym momencie mamy tablicę np
["ABCD", "A B C D", "A B C D"]
. Niestety kwadrat zajmuje 13 bajtów:źródło
05AB1E , 17 bajtów
Wypróbuj online!
-1 dzięki kalsowerus .
źródło
.c.∊
zû.c
û
... dzięki!JavaScript (ES6) ,
159136129127 bajtówWypróbuj online! Objaśnienie poniżej
Pierwsze wejście do codegolf, z góry przepraszam za oczywiste błędy.
Dzięki Justin Mariner za oszczędność 23 bajtów! Dzięki Craig Ayre za zapisanie 11 bajtów i zgłoszenie błędu.
źródło
x
od -2 zamiast -1 i zmienićx<=l
na++x<=l
, abyś mógł usunąćx++
i zapisać bajt?lines
jest również uwikłany w odstępy, więc kosztuje to więcej bajtów, aby wszystko znów działało. Ale jestem całkiem pewien, że istnieje lepszy sposób na uporządkowanie kodu i dodanie swojej sugestii.SOGL V0.12 ,
2218 bajtówWypróbuj tutaj!
Wyjaśnienie:
źródło
╬-
czterokierunkowe polecenie palindromize? Właśnie tu chciałem, żeby Japt miał coś takiego ...: P╬
jest wiele rzeczy╬-
. Ale dzięki, nie mogłem znaleźć tej strony z jakiegoś powoduF
dla∑
jeśli jest to potrzebne.Python 3 ,
149 14195 bajtówWypróbuj online!
Dzięki @KevinCruijssen i @ETHproductions za zaoszczędzenie niektórych bajtów
Specjalne podziękowania dla @notjagan za uratowanie 46 bajtów!
źródło
l=len(s);
sięl=len(s)-1;
, a następnie zmieniając wszystkie wartości udziałeml
(tjl-1
->l
;-l+2
->-l+1
; itd.) Wynosi 8 bajtów krótszy. Wypróbuj tutaj.-l+2
->2-l
:)center
zamiastfor
pętli!PHP,
145131 bajtówGra w ten dodatkowy bajt wymagała trochę myślenia; ale było warto.
wypisuje wiodącą nową linię. Uruchom jako potok z
-nR
lub spróbuj online .awaria
alternatywne rozwiązanie o tej samej długości:
źródło
APL (Dyalog) , 37 bajtów
Wymaga
⎕IO←0
ustawienia domyślnego w wielu systemach.{
…}
Anonimowa funkcja, w której argument jest reprezentowany przez ⍵(
…)↑¨¨⊂⍵
Dla każdej (¨
) z poniższych liczb bierze (↑
) tyle znaków z każdego (¨
) całego (⊂
argumentu ), dopełniając spacjami, jeśli to konieczne:≢w
liczba znaków w argumencied←
przechowuj w d⍳
że wiele znaków (0… d - 1)1↓
upuść jeden (zero)∊¨
ϵ nlist (spłaszczyć) każde↑
podnieść rangę (przekształcić listę list w macierz)(m←
…)
Zastosuj następującą funkcję ukrytą m , zdefiniowaną jako:⊖
argument do góry nogami⍪
na szczycie1
jeden rząd]↓
spadł z⊢
argument⍉
transponować(
…)↓
Upuść:2-d
= - ( d - 2), tj. D - 2 rzędy od dołum
zastosuj m⍉
transponowaćWypróbuj online!
źródło
Java (OpenJDK 8) ,
201196 bajtówWypróbuj online!
To ten sam pomysł, który użyłem w poprzednim wyzwaniu , z tym wyjątkiem, że ciąg generatora jest teraz odrobinę dłuższy i trudniejszy w obsłudze.
źródło
Python 3 ,
134124 bajtyWypróbuj online!
Pierwszy post do PPCG po chwilowym czyhaniu. Szukasz jakichkolwiek sugestii / porad!
Dzięki @LyricLy i @ Łukasz Rogalski za ulepszenia!
źródło
f=
bajtowej, po prostu zapewnienie anonimowej funkcji jest w porządku.-len(s)+2
jest tylko2-len(s)
jeden bajt mniej.Haskell,
177163 bajtówTa funkcja
f
jest funkcją wyzwania i zwraca listę łańcuchów ([String]
), użycieunlines
jej powinno zapewnić taki sam efekt wizualny jak przypadki testowe (main = putStr $ unlines $ f "test string"
aby ją skompilować).Wypróbuj online!
-14 bajtów dzięki @nimi
źródło
k
można zdefiniować jakok n=[1..n]>>" "
ip
jakop=(++)=<<reverse.tail
(możesz nawet wstawić tę definicję).Mathematica, 141 bajtów
źródło