Premissa:
Sua reputação está no formato Stack-Exchange, se puder ser representada decompondo suas contagens de medalhas (ouro, prata e bronze contadas separadamente) em seus dígitos de base 10 e juntando-as em qualquer ordem, com algumas ressalvas.
Enquanto se decompõe, cada
- O dígito da medalha de ouro vale três dígitos.
- A prata vale dois dígitos.
- Bronze é um dígito.
- Além disso, como o SE não exibe um tipo de medalha, se você não tiver nenhum, uma contagem de 0 medalhas para um tipo não produzirá a
[0]
.
Exemplo:
[1 Gold, 2 Silvers, 3 Bronzes]
irá se decompor em[1,1,1,2,2,3]
. 321112 e 213121 são dois exemplos de um número de formulário SE para essas medalhas.[20 Golds, 0 Silvers, 20 Bronzes]
irá se decompor em[2,2,2,0,0,0,2,0]
. 20002022 é um número do formulário SE.[11 Golds, 0 Silvers, 0 Bronzes]
irá se decompor em[1,1,1,1,1,1]
. 111111 é o único número do formulário SE para isso.
Não haverá 0's iniciais ao considerar um número SE. Por exemplo, no segundo exemplo acima, 00002222 -> 2222
não seria considerado um número de formulário SE para [20,0,20]
.
Entrada / Saída:
Input é uma lista / tupla / array / qualquer um dos [reputation, gold_medals, silver_medals, bronze_medals]
quais são números inteiros não negativos. Esta é a ordem assumida, mas pode ser alterada. Basta fazer uma anotação na sua resposta, se o fizer.
Saída são quaisquer dois valores consistentes para verdadeiro e falso.
Regras:
- A entrada sempre será válida
- Você sempre terá pelo menos 1 representante
- Você não pode ter medalhas, o que sempre deve retornar falso então.
- A contagem de medalhas não tem influência na realidade. Ter várias centenas de ouros e sem bronzes é bom.
- Este é o código-golfe, pelo que a resposta mais curta em bytes vence.
Casos de teste:
#[Rep, Gold, Silver, Bronze] -> Output
[4, 0, 0, 4] -> True
[1447, 0, 4, 17] -> True
[74414, 4, 0, 17] -> True
[4444, 4, 0, 4] -> True
[4455, 0, 54, 0] -> True
[5355, 5, 0, 3] -> True
[53535, 5, 3, 0] -> True
[4444, 0, 0, 4444] -> True
[444, 4, 0, 0] -> True
[1234, 0, 0, 1234] -> True
[1234, 0, 0, 4321] -> True
[4444, 1, 0, 1] -> False
[5555, 5, 0, 55] -> False
[1234, 1, 23, 4] -> False
[1, 0, 0, 0] -> False
[1001001, 0, 10, 10] -> False
[bronze, silver, gold]
e uma segunda entrada separada reputation
?