Es gibt 8 australische Staaten und Gebiete mit jeweils 2 oder 3 Buchstaben:
- ACT: Australisches Hauptstadtterritorium
- NSW: New South Wales
- NT: Northern Territory
- QLD: Queensland
- SA: Südaustralien
- TAS: Tasmanien
- VIC: Victoria
- WA: Westaustralien
Ihre Aufgabe ist es, eine Funktion / ein Programm zu schreiben, die bzw. das eine gültige australische Abkürzung in Großbuchstaben verwendet und den korrekten vollständigen Namen zurückgibt (Groß- und Kleinschreibung wie oben).
Es ist kein zusätzliches Leerzeichen zulässig, außer einer einzelnen nachfolgenden Zeilenumbruch, bei der dies ein unvermeidbarer Nebeneffekt jedes Programms in dieser Sprache ist.
Beispielsweise:
f("TAS") => "Tasmania"
Es gelten die Standard- Code-Golf- Regeln (kürzester Code in Bytes gewinnt!) Und Lücken.
code-golf
kolmogorov-complexity
Steve Bennett
quelle
quelle
Antworten:
Netzhaut ,
135121 Bytes13 Bytes Golf dank @Neil durch clevere Space-Insertion-Taktiken, die ein weiteres Byte zum Golfen inspirierten
Probieren Sie es online aus!
Beachten Sie die nachgestellten Leerzeichen in der vierten und letzten Zeile.
quelle
AS
mitasmania
zuerst, dann können Sie alle verbleibenden ersetzenA
s mitAustralia
.\B[A-Z]
hätten Sie zwei Bytes gespart.)Gelee , 56 Bytes
Ein monadischer Link, der Listen mit Zeichen erstellt und zurückgibt.
Alle Fälle finden Sie unter Online testen!
Hinweis: Die Wiederverwendung der Wörter "Australien" und "Territorium" trägt nicht dazu bei, die Anzahl der Bytes zu verringern.
Wie?
Die Summe der Ordnungszahlen der acht Zustandsabkürzungen modulo 15 ergibt 8 eindeutige Werte. Wenn Sie die Ergebnisse dieser Modulo 9 verwenden, bleibt die Einzigartigkeit erhalten.
quelle
Haskell,
193,192 BytesEtwas naive Lösung, aber ich wollte für meine erste eine ziemlich einfache Herausforderung anstreben. Ich bin mir nicht mal sicher, ob in Haskell etwas Besseres möglich ist.
Ein Byte wurde gespeichert, indem das Leerzeichen in t verschoben wurde
quelle
Mathematica, 177 Bytes
Offensichtliche Lösung: (199 Bytes)
Verbesserte Lösung: (182 Bytes, nur auf meinem Wolfram Mathematica 10.2-Computer ausführbar)
Beste Lösung:
Leider wiederholen
" Territory"
kann nur 0 Bytes speichern.Es scheint, dass die Standard-Hash-Funktion von Mathematica über Versionen wechselt. Durch Hinzufügen einer Methode wird der Code jedoch länger. Wenn Sie die Standard-Hash-Funktion der Mathematica-Sandbox verwenden, kann der Code jetzt um etwa 9 Byte kürzer werden.
Mathematica (Sandbox - jetzt - Version 11), 168 Bytes
quelle
Python, 181 Bytes
1 Byte dank @Jonathan Allan gespeichert
Probieren Sie es online aus!
quelle
t=' Territory'
sollte ein Byte sparen, denke ich.Sed,
167157 Bytesquelle
ern
, aber das hat mehr gekostet, als es für nur zwei Verwendungen gespart hat.PHP,
148143 Bytes5 Bytes dank Jörg Hülsermann gespart .
quelle
C # , 289 Bytes
Daten
String
s
Die Abkürzung für den Status.String
Der erweiterte StatusnameGolf gespielt
Ungolfed
Ungolfed lesbar
Vollständiger Code
Veröffentlichungen
289 bytes
- Erste Lösung.Anmerkungen
quelle
(string s)
kann einfach seins
, Sie können eine implizite Rückgabe verwenden:s=>new System....
und Sie können das nachfolgende Semikolon entfernen.Rexx (Regina) ,
148147 BytesProbieren Sie es online aus!
quelle
JavaScript (ES6), 167 Byte
Code-Snippet anzeigen
quelle