Istnieje 8 stanów i terytoriów australijskich, każdy z 2 lub 3 literowym skrótem:
- AKT: Australijskie Terytorium Stołeczne
- NSW: Nowa Południowa Walia
- NT: Terytorium Północne
- QLD: Queensland
- SA: Australia Południowa
- TAS: Tasmania
- VIC: Victoria
- WA: Australia Zachodnia
Twoim zadaniem jest napisanie funkcji / programu, który przyjmuje prawidłowy skrót nazwy australijskiej dużymi literami i zwraca poprawną pełną nazwę (rozróżnia wielkie i małe litery jak wyżej).
Żadne dodatkowe białe znaki nie są dozwolone, poza pojedynczym końcowym znakiem nowej linii, gdy jest to nieunikniony efekt uboczny każdego programu w tym języku.
Na przykład:
f("TAS") => "Tasmania"
Standard golf-golf obowiązują zasady (wygrywa najkrótszy kod w bajtach!) i luki.
code-golf
kolmogorov-complexity
Steve Bennett
źródło
źródło
Odpowiedzi:
Siatkówka ,
135121 bajtów13 bajtów golfowych dzięki @Neil przy użyciu sprytnych taktyk wstawiania przestrzeni, które zainspirowały jeszcze jeden bajt
Wypróbuj online!
Zwróć uwagę na końcowe spacje w czwartym i ostatnim wierszu.
źródło
AS
sięasmania
najpierw, a następnie można wymienić wszystkie pozostałeA
szAustralia
.\B[A-Z]
tego zaoszczędziłby ci dwa bajty.)Galaretka , 56 bajtów
Monadyczny link pobierający i zwracający listy znaków.
Zobacz wszystkie przypadki w Wypróbuj online!
Uwaga: Ponowne użycie słów „Australia” i „Terytorium” nie pomaga zmniejszyć liczby bajtów.
W jaki sposób?
Biorąc sumę rzędnych ośmiu skrótów stanu modulo 15 daje 8 unikalnych wartości. Biorąc wyniki tych modulo 9 zachowuje wyjątkowość.
źródło
Haskell,
193192 bajtyTrochę naiwne rozwiązanie, ale po raz pierwszy chciałem podjąć dość proste wyzwanie. Nie jestem nawet pewien, czy w Haskell jest możliwe lepsze.
Zapisano bajt, przesuwając spację do t
źródło
Mathematica, 177 bajtów
Oczywiste rozwiązanie: (199 bajtów)
Ulepszone rozwiązanie: (182 bajty, można uruchomić tylko na moim komputerze Wolfram Mathematica 10.2)
Najlepsze rozwiązanie:
Niestety powtórzenie
" Territory"
może zapisać tylko 0 bajtów.Wygląda na to, że domyślna funkcja skrótu Mathematica zmienia się w zależności od wersji. Ale dodanie metody spowoduje wydłużenie kodu. Korzystanie z domyślnej funkcji skrótu w piaskownicy Mathematica może teraz skrócić kod o około 9 bajtów.
Mathematica (piaskownica - teraz - wersja 11), 168 bajtów
źródło
Python, 181 bajtów
1 bajt zapisany dzięki @Jonathan Allan
Wypróbuj online!
źródło
t=' Territory'
powinien uratować bajt.Sed,
167157 bajtówźródło
ern
, ale to kosztowało więcej niż zaoszczędziłem tylko na dwa zastosowania.PHP,
148143 bajtówZaoszczędź 5 bajtów dzięki Jörgowi Hülsermannowi .
źródło
C # , 289 bajtów
Dane
String
s
Skrót stanu.String
Rozwinięta nazwa stanuGrał w golfa
Nie golfił
Nieczytelny czytelny
Pełny kod
Wydawnictwa
289 bytes
- Wstępne rozwiązanie.Notatki
źródło
(string s)
może po prostu być.s
Możesz użyć niejawnego zwrotu:s=>new System....
i możesz usunąć końcowy średnik.Rexx (Regina) ,
148147 bajtówWypróbuj online!
źródło
JavaScript (ES6), 167 bajtów
Pokaż fragment kodu
źródło