Hay 8 estados y territorios australianos, cada uno con una abreviatura de 2 o 3 letras:
- ACT: Territorio de la Capital Australiana
- Nueva Gales del Sur: Nueva Gales del Sur
- NT: Territorio del Norte
- QLD: Queensland
- SA: Australia del Sur
- TAS: Tasmania
- VIC: Victoria
- WA: Australia occidental
Su tarea es escribir una función / programa que tome una abreviatura válida del estado australiano en mayúsculas y devuelva el nombre completo correcto (distingue entre mayúsculas y minúsculas como se indicó anteriormente).
No se permiten espacios en blanco adicionales, aparte de una nueva línea final donde este es un efecto secundario inevitable de cada programa en ese idioma.
Por ejemplo:
f("TAS") => "Tasmania"
Se aplican las reglas estándar de código de golf (¡el código más corto en bytes gana!) Y las lagunas.
code-golf
kolmogorov-complexity
Steve Bennett
fuente
fuente
Respuestas:
Retina ,
135121 bytes13 bytes de golf gracias a @Neil mediante el uso de tácticas inteligentes de inserción en el espacio, que inspiraron un byte más de golf
Pruébalo en línea!
Tenga en cuenta los espacios finales en la cuarta y última línea.
fuente
AS
conasmania
primero, puede reemplazar todos losA
s restantes conAustralia
.\B[A-Z]
te habría ahorrado dos bytes.)Jalea , 56 bytes
Un enlace monádico que toma y devuelve listas de personajes.
¡Vea todos los casos en Pruébelo en línea!
Nota: Reutilizar las palabras "Australia" y "Territorio" no ayuda a reducir el recuento de bytes.
¿Cómo?
Tomando la suma de los ordinales de las ocho abreviaturas de estado, el módulo 15 da 8 valores únicos. Tomar los resultados de esos módulos 9 mantiene la unicidad.
fuente
Haskell,
193192 bytesUna solución algo ingenua, pero quería ir por un desafío bastante simple para mi primero. Ni siquiera estoy seguro de si es mejor en Haskell.
Salvó un byte moviendo el espacio a t
fuente
Mathematica, 177 bytes
Solución obvia: (199 bytes)
Solución mejorada: (182 bytes, solo ejecutable en mi computadora Wolfram Mathematica 10.2)
Mejor solución:
Lamentablemente, la repetición
" Territory"
solo puede guardar 0 bytes.Parece que la función Hash predeterminada de Mathematica cambia sobre las versiones. Pero agregar un método hará que el código sea más largo. El uso de la función Hash predeterminada de la caja de arena de Mathematica ahora puede acortar el código en aproximadamente 9 bytes.
Mathematica (sandbox - ahora - versión 11), 168 bytes
fuente
Python, 181 bytes
1 byte guardado gracias a @Jonathan Allan
Pruébalo en línea!
fuente
t=' Territory'
debería guardar un byte, creo.Sed,
167157 bytesfuente
ern
, pero eso costó más de lo que ahorró para solo dos usos.PHP,
148143 bytesGuardado 5 bytes gracias a Jörg Hülsermann .
fuente
C # , 289 bytes
Datos
String
s
La abreviatura del estado.String
El nombre del estado expandidoGolfed
Sin golf
Legible sin golf
Código completo
Lanzamientos
289 bytes
- Solución inicial.Notas
fuente
(string s)
simplemente puede sers
, puede usar un retorno implícito:s=>new System....
y puede eliminar el punto y coma final.Rexx (Regina) ,
148147 bytesPruébalo en línea!
fuente
JavaScript (ES6), 167 bytes
Mostrar fragmento de código
fuente