Biorąc pod uwagę palindrom wygenerowany zgodnie z tym wyzwaniem , depalindromize go.
Przypadki testowe
abcdedcba -> abcde
johncenanecnhoj -> johncena
ppapapp -> ppap
codegolflogedoc -> codegolf
Ponieważ chodzi o depalindromizację, twój kod nie może być palindromem .
Pamiętaj, to jest kodowanie w golfa , więc wygrywa kod z najmniejszą liczbą bajtów.
code-golf
restricted-source
palindrome
Oliver Ni
źródło
źródło
Odpowiedzi:
Julia,
2115 bajtówWypróbuj online! (dodatkowy kod służy do wydruku)
źródło
end/2
jest fajna funkcja05AB1E , 3 bajty
Wykorzystuje kodowanie CP-1252 . Wypróbuj online!
źródło
Python 2, 23 bajty
Nie mogę przeprowadzić testu na telefonie, ale powinno to działać:
źródło
apt-get install python2
apt-get
w telefonie, prawdopodobnie nie jest to normalny telefon.Rozmyte Octo Guacamole, 4 bajty
Spędziłem trochę czasu, szukając języka, w którym to wyzwanie jest krótkie, i zdałem sobie sprawę, że jestem głupi, a mój własny język to zrobił.
źródło
05AB1E, 5 bajtów
Wypróbuj online!
Wyjaśnienie:
źródło
Cheddar,
2218 bajtówTak proste, że nie potrzebuję wyjaśnień, ale dodam jedno, jeśli chcesz.
Wypróbuj online
źródło
Pyth - 4 bajty
Pakiet testowy .
źródło
JavaScript (ES6),
32 2625 bajtów1 bajt zapisany dzięki Neilowi:
Pokaż fragment kodu
Poprzednie rozwiązania
26 bajtów dzięki Downgoat:
32 bajty:
źródło
s=>s.slice(0,s.length/2+1)
Ponieważ długość zawsze będzie nieparzystas=>s.slice(0,s.length/2+.5)
będzie działał na równą długość.-s.length/2
działa zarówno na parzyste, jak i nieparzyste.WinDbg,
8771 bajtów-16 bajtów, nie wstawiając NULL, zamiast tego przekazując długość do
da
Dane wejściowe są przekazywane przez adres w rejestrze psuedo
$t0
. Na przykład:Działa poprzez zamianę prawej środkowego znaku (lub prawej-środkowej, jeśli ciąg ma równą długość) na null, a następnie drukuje ciąg z oryginalnego początkowego adresu pamięci.
Wynik:
źródło
Haskell, 27 bajtów
Wersja Pointfree
który również ma 27 bajtów.
źródło
MATL ,
76 bajtówWypróbuj online!
Wyjaśnienie
źródło
end
, a dwukropki między elementami macierzy są niejawneGalaretka , 4 bajty
Wypróbuj online!
Wyjaśnienie
źródło
V , 12 bajtów
Dwa zupełnie różne rozwiązania, oba 12 bajtów.
Wypróbuj online!
Wypróbuj online!
źródło
Brachylog , 4 bajty
Wypróbuj online!
Wyjaśnienie
Jeśli dane wejściowe mają nieparzystą długość, druga połowa generowana przez
@2
jest tą najdłuższą, czyli tą, którą powinniśmy zwrócić (po odwróceniu).źródło
Dyalog APL , 9 bajtów
⊢
argument↑⍨
obcięty o2÷⍨
połowa1+
jeden plus≢
długośćWypróbuj APL online!
źródło
Perl, 15 bajtów
Obejmuje +2 za
-lp
Podaj ciąg wejściowy na STDIN:
depal.pl
:Nie
-l
jest tak naprawdę potrzebne, jeśli wprowadzisz palindrom bez końcowej nowej linii, ale uwzględniłem go, aby był sprawiedliwy wobec innych rozwiązań perla, które go używają.źródło
Java 7, 57 bajtów
źródło
}
(czyli 57 bajtów).TI-Basic, 14 bajtów
Standardowa funkcja. Zwraca ciąg z indeksu 1 do indeksu (długość / 2 + 1/2).
źródło
GameMaker Language, 59 bajtów
źródło
PHP, 40 bajtów
strlen($a)/2
zostaje rzutowane na int, przy czym dane wejściowe zawsze mają nieparzystą długość,+1
wystarczy zaokrąglić w górę.42 bajty dla dowolnej długości:
dla nieznanej długości
(1+strlen)/2
zostaje rzutowany na int, zaokrąglając w góręstrlen/2
.źródło
Zanurz, 8 bajtów
Wyjaśnienie:
Prawdopodobnie można to znacznie poprawić.
źródło
Perl, 23 + 2 (
-pl
flaga) =2825 bajtówNie golfowany:
Dzięki za @ardnew.
źródło
length()
zy|||c
Befunge ,
2422 bajtówWypróbuj online!
Befunge nie ma ciągów ani tablic, więc wszystko odbywa się na stosie po jednym znaku na raz. Pierwsza pętla (w górnym wierszu) liczy liczbę odczytanych znaków (zamiana z mniej niż 2 elementami w stosie daje początkowe 0). Drugi (w środkowej linii) drukuje znaki, odliczając dwa razy szybciej. W rezultacie drukowana jest tylko ostatnia połowa danych wejściowych, ale LIFO jest w prawidłowej kolejności.
Podziękowania dla Briana Gradina za lepszą wersję pierwszej pętli.
źródło
Perl, 14 + 3 (
-lF
flaga) =1917 bajtówW wersji 5.20.0+:
Dla wersji 5.10.0+ (19 bajtów):
Nie golfowany:
Dzięki za @simbabque.
źródło
-n
i-a
dlatego-F
czyni to w sposób dorozumiany.Brainfuck, 20 bajtów
Wypróbuj online.
To oszczędza bajt dzięki prostszemu podejściu do pobierania danych wejściowych przed uruchomieniem głównej pętli:
źródło
Pyth ,
87 bajtówZapisano 1 dzięki dzięki @Steven H.
Nie jest to najkrótsza odpowiedź Pytha (o połowę), ale staram się nauczyć języka i to mój pierwszy post, w którym go używam. Wysłano tyle samo komentarzy i opinii jak cokolwiek innego. To także pierwszy program w Pyth'u, który faktycznie mam pracować :)
Teraz muszę tylko dowiedzieć się, jak działa 4-bajtowa odpowiedź @Maltysen :-)
źródło
c
przeskakuje onaQ
na2
kawałki i bierze pierwszy kawałek za pomocąh
(który dzięki implementacji chop również chwyta środkową literę). Co do kodu, można wymienić+1
zh
wbudowana w inkrementacji numerów.h
podpowiedź @Steven H. Jest tak wiele wbudowanych, że chyba znalezienie ich wszystkich zajmuje trochę czasu :)Właściwie 5 bajtów
Wypróbuj online!
-1 bajt dzięki Sherlock9
Wyjaśnienie:
źródło
;l½K@H
DC,
3130 bajtówOszczędność 1 bajtu dzięki Cyoce.
Stosowanie:
źródło
char* c
Python 2, 23 bajty
źródło
MATLAB / Octave,
20191816 bajtów1 bajt poza pożyczaniem pomysłu z odpowiedzi Easterly Irk (dodaj
1
zamiast.5
)2 bajty dzięki @StewieGriffin (niepotrzebne nawiasy)
Wypróbuj w Ideone .
źródło