Il y a 8 états et territoires australiens, chacun avec une abréviation de 2 ou 3 lettres:
- ACT: Territoire de la capitale australienne
- NSW: Nouvelle-Galles du Sud
- NT: Territoire du Nord
- QLD: Queensland
- SA: Australie du Sud
- TAS: Tasmanie
- VIC: Victoria
- WA: Australie occidentale
Votre tâche consiste à écrire une fonction / programme qui prend une abréviation d'état australienne valide en majuscules et renvoie le nom complet correct (sensible à la casse comme ci-dessus).
Aucun espace supplémentaire n'est autorisé, à l'exception d'une seule nouvelle ligne de fin où il s'agit d'un effet secondaire inévitable de chaque programme dans cette langue.
Par exemple:
f("TAS") => "Tasmania"
Les règles de code-golf standard (le code le plus court en octets gagne!) Et les échappatoires s'appliquent.
code-golf
kolmogorov-complexity
Steve Bennett
la source
la source
Réponses:
Rétine ,
135121 octets13 octets de golf grâce à @Neil en utilisant des tactiques intelligentes d'insertion d'espace, qui ont inspiré un octet de plus à jouer au golf
Essayez-le en ligne!
Notez les espaces de fin sur la quatrième et la dernière ligne.
la source
AS
par d'asmania
abord, vous pouvez remplacer tous lesA
s restants parAustralia
.\B[A-Z]
cela vous aurait fait économiser deux octets.)Gelée , 56 octets
Un lien monadique prenant et renvoyant des listes de personnages.
Voir tous les cas sur Essayez-le en ligne!
Remarque: La réutilisation des mots "Australie" et "Territoire" n'aide pas à réduire le nombre d'octets.
Comment?
La somme des ordinaux des huit abréviations d'état modulo 15 donne 8 valeurs uniques. Prendre les résultats de ces modules 9 conserve l'unicité.
la source
Haskell,
193192 octetsSolution un peu naïve, mais je voulais opter pour un défi assez simple pour mon premier. Je ne sais même pas si mieux est possible à Haskell.
Enregistré un octet en déplaçant l'espace en t
la source
Mathematica, 177 octets
Solution évidente: (199 octets)
Solution améliorée: (182 octets, exécutable uniquement sur mon ordinateur Wolfram Mathematica 10.2)
Meilleure solution:
Malheureusement, la répétition
" Territory"
ne peut enregistrer que 0 octet.Il semble que la fonction de hachage par défaut de Mathematica change par rapport aux versions. Mais l'ajout d'une méthode allongera le code. L'utilisation de la fonction de hachage par défaut du bac à sable Mathematica peut désormais raccourcir le code d'environ 9 octets.
Mathematica (bac à sable - maintenant - version 11), 168 octets
la source
Python, 181 octets
1 octet enregistré grâce à @Jonathan Allan
Essayez-le en ligne!
la source
t=' Territory'
devrait sauver un octet je pense.Sed,
167157 octetsla source
ern
, mais cela a coûté plus cher qu'il n'en a économisé pour seulement deux utilisations.PHP,
148143 octets5 octets enregistrés grâce à Jörg Hülsermann .
la source
C # , 289 octets
Les données
String
s
Abréviation de l'état.String
Le nom de l'état développéGolfé
Non golfé
Non lisible non lisible
Code complet
Communiqués
289 bytes
- Solution initiale.Remarques
la source
(string s)
peut simplement êtres
, Vous pouvez utiliser un retour implicite:s=>new System....
et vous pouvez supprimer le point-virgule de fin.Rexx (Regina) ,
148147 octetsEssayez-le en ligne!
la source
JavaScript (ES6), 167 octets
Afficher l'extrait de code
la source