Existem 8 estados e territórios australianos, cada um com uma abreviação de 2 ou 3 letras:
- ATO: Território da Capital Australiana
- NSW: Nova Gales do Sul
- NT: Território do Norte
- QLD: Queensland
- SA: Austrália do Sul
- TAS: Tasmânia
- VIC: Victoria
- WA: Austrália Ocidental
Sua tarefa é escrever uma função / programa que use uma abreviação válida do estado australiano em maiúscula e retorne o nome completo correto (diferenciando maiúsculas de minúsculas como acima).
Nenhum espaço em branco extra é permitido, além de uma única nova linha à direita, onde esse é um efeito colateral inevitável de todos os programas nesse idioma.
Por exemplo:
f("TAS") => "Tasmania"
Regras padrão de código de golfe (o código mais curto em bytes vence!) E brechas se aplicam.
code-golf
kolmogorov-complexity
Steve Bennett
fonte
fonte
Respostas:
Retina ,
135121 bytes13 bytes de golfe graças ao @Neil usando táticas inteligentes de inserção de espaço, que inspiraram mais um byte sendo jogado no golfe
Experimente online!
Observe os espaços à direita na quarta e na última linha.
fonte
AS
porasmania
primeiro, poderá substituir todos osA
s restantes porAustralia
.\B[A-Z]
teria salvou dois bytes.)Geléia , 56 bytes
Um link monádico que recebe e retorna listas de caracteres.
Veja todos os casos em Experimente online!
Nota: Reutilizar as palavras "Austrália" e "Território" não ajuda a reduzir a contagem de bytes.
Como?
Tomando a soma dos ordinais das oito abreviações de estado, o módulo 15 fornece 8 valores únicos. Tomando os resultados desses módulos 9 mantém a singularidade.
fonte
Haskell,
193192 bytesSolução um tanto ingênua, mas eu queria ir para um desafio bastante simples para o meu primeiro. Não tenho certeza se é melhor em Haskell.
Salvou um byte movendo o espaço para t
fonte
Mathematica, 177 bytes
Solução óbvia: (199 bytes)
Solução aprimorada: (182 bytes, executável apenas no meu computador Wolfram Mathematica 10.2)
Melhor solução:
Infelizmente, a repetição
" Territory"
pode salvar apenas 0 bytes.Parece que a função Hash padrão do Mathematica muda com as versões. Mas adicionar um método tornará o código mais longo. Agora, o uso da função Hash padrão da caixa de areia do Mathematica pode reduzir o código em cerca de 9 bytes.
Mathematica (sandbox - agora - versão 11), 168 bytes
fonte
Python, 181 bytes
1 byte salvo graças a @Jonathan Allan
Experimente online!
fonte
t=' Territory'
deve salvar um byte, eu acho.Sed,
167157 bytesfonte
ern
, mas isso custou mais do que economizou para apenas dois usos.PHP,
148143 bytesEconomizou 5 bytes graças a Jörg Hülsermann .
fonte
C # , 289 bytes
Dados
String
s
A abreviação do estado.String
O nome do estado expandidoGolfe
Ungolfed
Ungolfed legible
Código completo
Lançamentos
289 bytes
- Solução inicial.Notas
fonte
(string s)
pode ser apenass
, você pode usar um retorno implícito:s=>new System....
e pode remover o ponto e vírgula à direita.Rexx (Regina) ,
148147 bytesExperimente online!
fonte
JavaScript (ES6), 167 bytes
Mostrar snippet de código
fonte