As convenções de nomenclatura para jogos da série Super Mario são muito estranhas e não coincidem entre as regiões.
| Japanese Name | American Name |
|---------------------|------------------------------------|
| Super Mario Bros. | Super Mario Bros. |
| Super Mario Bros. 2 | Super Mario Bros.: The Lost Levels |
| Super Mario USA | Super Mario Bros. 2 |
| Super Mario Bros. 3 | Super Mario Bros. 3 |
| Super Mario Bros. 4 | Super Mario World |
Que bagunça!
Desafio:
Dada uma sequência que consiste no nome japonês de um jogo de Super Mario, produz o nome americano correspondente. Você pode inserir a sequência japonesa através de qualquer método razoável e gerar a sequência americana (com uma nova linha opcional) através de qualquer método razoável.
Você deve usar as strings exatas mostradas acima. As brechas padrão são proibidas!
O código mais curto (em bytes) é o vencedor.
code-golf
string
kolmogorov-complexity
game
Julian Lachniet
fonte
fonte
Respostas:
sed, 52
Substituição direta:
Experimente online .
fonte
s/B.*4/World/
.Retina, 43
Porta direta da minha resposta sed :
Experimente online .
fonte
B.*4
vez de\S* 4
.JavaScript (ES6),
8281 bytesExperimente online!
Quão?
fonte
PHP, 81 bytes
Experimente online!
fonte
JavaScript (ES6), 84 bytes
Mostrar snippet de código
fonte
[r='replace']
truque.[]
trabalho como uma função?object.property
ouobject['property']
. 2) Um método de um objeto é uma propriedade à qual é atribuída uma função. 3) Sob o capô, JS transforma rapidamente um tipo primitivo, como uma string, em um objeto quando uma sintaxe de acesso à propriedade é usada nele. Conclusão: combinando tudo o que precede, podemos entender por ques['replace']()
faz exatamente o que diz na lata.Python 2 ,
9692 bytesExperimente online!
fonte
Japonês , 48 bytes
Experimente online!
Explicação:
Japt usa a biblioteca shoco para compactação de strings. Backticks são usados para descomprimir seqüências de caracteres.
fonte
R, 86 bytes
fonte
Geléia ,
4443 bytesUm programa completo que imprime o resultado.
Experimente online!
Quão?
fonte
Mathematica, 80 bytes
Função anônima. Pega uma string como entrada e retorna uma string como saída.
fonte
Python 3: 111 bytes
Obtém entrada do usuário, executa uma série de substituições baseadas em regex e imprime o resultado.
fonte
from re import*
vez defrom re import sub as r
. Então a segunda linha se tornaria:print(sub(" USA","Bros. 2",sub(" 2",": The Lost Levels",sub("Bros. 4","World",input()))))
Go , 134 bytes
Experimente online!
Como o Go não suporta valores padrão para argumentos, você deve passar manualmente
1
todas as vezes.fonte
Lote,
23799 bytesSupondo que a entrada esteja no formato exato da pergunta
fonte
Pascal (FPC) ,
184182 bytesExperimente online!
Explicação:
z
é o array que contém 5 saídas possíveis, só precisamos encontrar o caminho para indexá-lo. Notei 2 parâmetros que podem ser usados para distinguir entrada. A primeira parte é o comprimento da entrada:Apenas três entradas tiverem o mesmo comprimento mod 5. A segunda parte é que, na posição 19 nas entradas,
2
,3
e4
tem pontos de código consecutivas, para que eles possam ser facilmente usadas para preencher o resto dos índices enquanto os restantes 2 são entradas mais curta.O
String
tipo padrão éShortString
e, por padrão, tem capacidade para 255 caracteres, todos inicializados com zeros, portanto, é seguro usá-lot[19]
em todas as cadeias e seu ponto de código é 0 para cadeias mais curtas, não alterando nada na indexação, portanto, os índices das cadeias mais curtas são 0 e 2. Portanto, precisamos dos índices 1, 3 e 4 de2
,3
e4
.fonte
05AB1E , 37 bytes
Experimente online ou verifique todos os casos de teste.
Explicação:
Veja isto para mais informações porque
“:€€‹×Œä“
é": the lower levels"
;'„À
é"usa"
; e'‚ï
é"world"
.fonte