Las convenciones de nomenclatura para los juegos de la serie Super Mario son muy extrañas y no coinciden entre regiones.
| 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 desastre!
Desafío:
Dada una cadena que consiste en el nombre japonés de un juego de Super Mario, genera el nombre estadounidense correspondiente. Puede ingresar la cadena japonesa a través de cualquier método razonable y generar la cadena americana (con una nueva línea opcional) a través de cualquier método razonable.
Debe usar las cadenas exactas que se muestran arriba. ¡Las lagunas estándar están prohibidas!
El código más corto (en bytes) es el ganador.
code-golf
string
kolmogorov-complexity
game
Julian Lachniet
fuente
fuente

Respuestas:
sed, 52
Reemplazo directo:
Pruébalo en línea .
fuente
s/B.*4/World/.Retina, 43
Puerto directo de mi respuesta sed :
Pruébalo en línea .
fuente
B.*4lugar de\S* 4.JavaScript (ES6),
8281 bytesPruébalo en línea!
¿Cómo?
fuente
PHP, 81 bytes
Pruébalo en línea!
fuente
JavaScript (ES6), 84 bytes
Mostrar fragmento de código
fuente
[r='replace']truco.[]trabajo como función?object.propertyoobject['property']. 2) Un método de un objeto es una propiedad a la que se le asigna una función. 3) Bajo el capó, JS convierte brevemente un tipo primitivo, como una cadena, en un objeto cuando se utiliza una sintaxis de acceso a la propiedad . Conclusión: al combinar todo lo anterior, podemos entender por qués['replace']()hace exactamente lo que dice en la lata.Python 2 ,
9692 bytesPruébalo en línea!
fuente
Japt , 48 bytes
Pruébalo en línea!
Explicación:
Japt usa la biblioteca shoco para la compresión de cadenas. Los backticks se usan para descomprimir cadenas.
fuente
R, 86 bytes
fuente
Jalea ,
4443 bytesUn programa completo que imprime el resultado.
Pruébalo en línea!
¿Cómo?
fuente
Mathematica, 80 bytes
Función anónima. Toma una cadena como entrada y devuelve una cadena como salida.
fuente
Python 3: 111 bytes
Obtiene la entrada del usuario, ejecuta una serie de sustituciones basadas en expresiones regulares e imprime el resultado.
fuente
from re import*lugar defrom re import sub as r. Entonces la segunda línea se convertiría en:print(sub(" USA","Bros. 2",sub(" 2",": The Lost Levels",sub("Bros. 4","World",input()))))Go , 134 bytes
Pruébalo en línea!
Como Go no admite valores predeterminados para argumentos, debe pasarlos manualmente
1cada vez.fuente
Lote,
23799 bytesAsumiendo que la entrada está en formato exacto en la pregunta
fuente
Pascal (FPC) ,
184182 bytesPruébalo en línea!
Explicación:
zes la matriz que contiene 5 salidas posibles, solo necesitamos encontrar la forma de indexarla. Noté 2 parámetros que se pueden usar para distinguir la entrada. La primera parte es la longitud de la entrada:Solo 3 entradas tienen la misma longitud mod 5. La segunda parte es que, en la posición 19 en las entradas
2,3y4tienen puntos de código consecutivos, por lo que se pueden utilizar fácilmente para llenar el resto de los índices mientras que las 2 entradas restantes son corto.El
StringtipoShortStringpredeterminado tiene una capacidad para 255 caracteres, todos inicializados con ceros, por lo que es seguro de usart[19]en todas las cadenas y su punto de código es 0 para cadenas más cortas, sin cambiar nada para indexar, por lo que los índices de cadenas más cortas son 0 y 2. Por lo tanto, necesitamos los índices 1, 3 y 4 de2,3y4.fuente
05AB1E , 37 bytes
Pruébelo en línea o verifique todos los casos de prueba.
Explicación:
Consulte esto para obtener más información por qué
“:€€‹×Œä“es": the lower levels";'„Àes"usa"; y'‚ïes"world".fuente