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.*4
lugar 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.property
oobject['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
1
cada 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:
z
es 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
,3
y4
tienen 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
String
tipoShortString
predeterminado 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
,3
y4
.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