Decisão do Papai Noel:
Neste desafio, você ajudará o Papai Noel a decidir se alguém da lista foi malcriado ou agradável e, posteriormente, receberá coal
ou toys
.
Infelizmente, porém, o Papai Noel está desorganizado; em algumas de suas entradas, os campos naughty
, nice
e name
estão na ordem errada.
Entrada
A entrada virá no seguinte formato intercambiável:
- o nome da pessoa (não pode conter apenas dois pontos
a-zA-Z0-9
) - a palavra
naughty
seguida diretamente por dois pontos e um número inteiro não negativo representando a quantidade de vezes que o Papai Noel te pegou sendo travesso - a palavra
nice
seguida diretamente por dois pontos e um número inteiro não negativo representando a quantidade de vezes que o Papai Noel o pegou sendo gentil
Todos separados com um único espaço em branco (ASCII 32) entre cada um deles.
Além disso, o nome não terá espaços em branco entre as partes do nome Santa Claus
-> SantaClaus
.
Bônus:
- (25%) : Ele é Papai Noel, então ele precisa verificar a lista duas vezes e garantir que não haja duplicatas. (Nesse caso, apenas obtém as primeiras pontuações que o usuário possui)
Exemplo:
Quill naughty:4 nice:0
naughty:0 Doorknob nice:3
naughty:2 Quill nice:6
nice:3 balpha naughty:3
pops nice:4 naughty:2
Saída:
A saída deve consistir em:
O nome da pessoa seguido por:
- Se houver mais pontos
naughty
, entãocoal
: - Se houver mais pontos
nice
, entãotoys
. Mas se
naughty
enice
são iguais, entãoneeds more data
Exemplo de saída:
- Com bônus de organização e bônus de remoção duplicado:
Quill coal
Doorknob toys
balpha needs more data
pops toys
- Sem bônus:
Quill coal
Doorknob toys
Quill toys
balpha needs more data
pops toys
Respostas:
Pitão, 68 bytes - 25% = 51
Experimente online: Demonstração
fonte
Julia,
176169 bytesEsta é uma função anônima que aceita uma string e imprime o resultado em STDOUT. Para chamá-lo, dê um nome, por exemplo
f=s->...
.Ungolfed:
fonte
Pitão - 64 bytes
Tentará usar seqüências de caracteres compactadas.
Experimente online aqui .
fonte
Ruby,
144123155 * .75 = 116,25 bytesObrigado ao histocrat por sugerir o
grep
método.164 * 0,75 = 123 bytes
144 bytes
Ungolfed
Uso:
fonte
.select{|t|t[?:]}
pode ser.grep(/:/)
Perl,
13811310510310296 - 25% = 72inclui +1 para
-p
Menos golfe:
nice
ounaughty
como nome da variável;<=>
para indexar uma lista de cadeias de saída.nice
ou emnaughty
vez do 2º.$$_ ? ... : ($$_++, ...)
para$$_++ ? ... : ...
(por que não vi isso antes).
fonte
JavaScript (ES6), 174 bytes - bônus de 25% = pontuação de 130,5
Explicação
Teste
Mostrar snippet de código
fonte
CJam, 64 bytes
Experimente online!
fonte
Lua, 329 bytes - bônus de 25% = 246,75
Irá editar em versão não destruída e explicações mais tarde, um pouco cansada no momento. Toda a entrada é recebida através da linha de comando, com espaço separado.
fonte
Python 2, 206 bytes - 25% = 154,5
fonte
JavaScript (ES6) 120 (160-25%)
Função anônima usando seqüências de caracteres de modelo, existem 4 novas linhas significativas e incluídas na contagem de bytes
fonte