Dado um palíndromo gerado de acordo com esse desafio , despalindromize-o.
Casos de teste
abcdedcba -> abcde
johncenanecnhoj -> johncena
ppapapp -> ppap
codegolflogedoc -> codegolf
Como se trata de despalindromização, seu código não pode ser um palíndromo .
Lembre-se, isso é código-golfe , portanto o código com o menor número de bytes vence.
code-golf
restricted-source
palindrome
Oliver Ni
fonte
fonte
Respostas:
Julia,
2115 bytesExperimente online! (código extra é para impressão)
fonte
end/2
é um recurso interessante05AB1E , 3 bytes
Usa a codificação CP-1252 . Experimente online!
fonte
Python 2, 23 bytes
Não consigo testar no meu telefone, mas isso deve funcionar:
fonte
apt-get install python2
apt-get
no seu telefone, provavelmente não é um telefone normal.Fuzzy Octo Guacamole, 4 bytes
Passei um tempo procurando por um idioma em que esse desafio fosse curto, e percebi que era burro e meu próprio idioma fez isso.
fonte
05AB1E, 5 bytes
Experimente online!
Explicação:
fonte
Queijo Cheddar,
2218 bytesTão simples que acho que não precisa de explicação, mas adicionarei uma, se desejado.
Experimente online
fonte
Pitão - 4 bytes
Conjunto de Teste .
fonte
JavaScript (ES6),
32 2625 bytes1 byte economizado graças a Neil:
Mostrar snippet de código
Soluções anteriores
26 bytes graças ao Downgoat:
32 bytes:
fonte
s=>s.slice(0,s.length/2+1)
Desde comprimento será sempre estranhas=>s.slice(0,s.length/2+.5)
também funcionaria por um comprimento igual.-s.length/2
funciona para comprimentos pares e ímpares.WinDbg,
8771 bytes-16 bytes, não inserindo NULL, passando o comprimento para
da
A entrada é passada através de um endereço no psuedo-register
$t0
. Por exemplo:Ele funciona substituindo o direito do meio do caractere (ou o meio-direito, se a string tiver um comprimento uniforme) por um nulo e, em seguida, imprime a string a partir do endereço de memória inicial original.
Resultado:
fonte
Haskell, 27 bytes
Versão sem ponto de
que também tem 27 bytes.
fonte
MATL ,
76 bytesExperimente online!
Explicação
fonte
end
, e dois pontos entre os elementos de matriz estão implícitosGelatina , 4 bytes
Experimente online!
Explicação
fonte
V , 12 bytes
Duas soluções completamente diferentes, ambas de 12 bytes.
Experimente online!
Experimente online!
fonte
Braquilog , 4 bytes
Experimente online!
Explicação
Se a entrada tiver um comprimento ímpar, a segunda metade gerada por
@2
é a mais longa, que é a que devemos retornar (depois de revertê-la).fonte
Dyalog APL , 9 bytes
⊢
o argumento↑⍨
truncado em2÷⍨
metade de1+
um mais≢
O comprimentoTryAPL online!
fonte
Perl, 15 bytes
Inclui +2 para
-lp
Dê uma string de entrada no STDIN:
depal.pl
:A
-l
não é realmente necessário, se você inserir o palíndromo sem nova linha final, mas eu incluí-lo para ser justo com as outras soluções perl que o utilizam.fonte
Java 7, 57 bytes
fonte
}
(portanto, são 57 bytes).TI-Basic, 14 bytes
Função padrão. Retorna a string do índice 1 para o índice (comprimento / 2 + 1/2).
fonte
Idioma do GameMaker, 59 bytes
fonte
PHP, 40 bytes
strlen($a)/2
é convertido para int, com a entrada sempre tendo um comprimento ímpar,+1
é suficiente para arredondar para cima.42 bytes para qualquer comprimento:
por comprimento desconhecido,
(1+strlen)/2
é convertido em int, arredondando para cimastrlen/2
.fonte
Mergulho, 8 bytes
Explicação:
Provavelmente isso poderia ser muito melhorado.
fonte
Perl, 23 + 2 (
-pl
sinalizador) =2825 bytesUngolfed:
Thanx para @ardnew.
fonte
length()
pory|||c
Befunge ,
2422 bytesExperimente online!
Como o Befunge não tem tipo de string ou array, tudo é feito na pilha, um caractere de cada vez. O primeiro loop (na linha superior) conta o número de caracteres lidos (trocar com menos de 2 elementos na pilha produz um 0 inicial). O segundo (na linha do meio) imprime caracteres enquanto conta em contagem regressiva duas vezes mais rápido. Como resultado, apenas a última metade da entrada é impressa, mas o LIFO está na ordem correta.
Agradecemos a Brian Gradin por uma versão melhor do primeiro loop.
fonte
Perl, 14 + 3 (
-lF
sinalizador) =1917 bytesPara 5.20.0+:
Para 5.10.0+ (19 bytes):
Ungolfed:
Thanx para @simbabque.
fonte
-n
e-a
porque o-F
faz implicitamente.Brainfuck, 20 bytes
Experimente online.
Isso economiza um byte na abordagem mais direta de consumir a entrada antes de iniciar o loop principal:
fonte
Pitão ,
87 bytesGuardado 1 com graças a @Steven H
Não é a resposta mais curta do Pyth (pela metade), mas estou fazendo um esforço para aprender o idioma e este é o meu primeiro post usando-o. Postado tanto por comentários e feedback como qualquer coisa. É também o primeiro programa Pyth que eu realmente tenho que trabalhar :)
Agora só preciso descobrir como funciona a resposta de 4 bytes do @Maltysen :-)
fonte
c
a entradaQ
em2
pedaços e pega a primeira parte usandoh
(que, graças à implementação de chop, também pega a letra central). Quanto ao seu código, você poderia substituir+1
comh
, o built-in para incrementar números.h
dica @ Steven H. Há tantas built-ins eu acho que só leva algum tempo para encontrá-los todos :)Na verdade , 5 bytes
Experimente online!
-1 byte graças a Sherlock9
Explicação:
fonte
;l½K@H
DC,
3130 bytesEconomizando 1 byte graças ao Cyoce.
Uso:
fonte
char* c
Python 2, 23 bytes
fonte
MATLAB / Oitava,
20191816 bytes1 byte emprestado de uma ideia da resposta de Easterly Irk (adicione em
1
vez de.5
)2 bytes de desconto graças a @StewieGriffin (parênteses desnecessários)
Experimente em Ideone .
fonte