Introdução:
Acho que todos já ouvimos falar, mas aqui está um breve resumo: Noé reuniu duas espécies de animais do planeta, macho e fêmea, para salvar em sua arca durante uma grande enchente. A citação real da Bíblia é:
Gênesis 7: 2-3
Você deve levar consigo sete de todo tipo de animal limpo, o macho e seu companheiro, dois de todo tipo de animal impuro, o macho e seu companheiro, e também sete de todo tipo de pássaro no céu , homem e mulher, para preservar seus filhos na face da terra.
fonte
Mas, para o bem deste desafio, ignoraremos a parte limpa / imunda e a parte em que ele levou sete de cada animal. Este desafio é apenas sobre esta parte:
dois de todo tipo de animal
impuro, o macho e seu companheiro
Desafio:
Entrada:
Você recebe uma lista de números inteiros positivos (em ordem aleatória).
Saída:
Dois valores distintos indicando se é uma 'Lista de Noé' ou não. Isso não é necessário que seja um valor de verdade / falsey ; portanto, também pode ser 0
/ 1
em Java / C # ou 'A'
/ 'B'
em qualquer idioma, para dar alguns exemplos.
Quando uma lista é uma 'Lista de Noé'? Quando houver exatamente dois de cada número inteiro na lista.
Regras do desafio:
- A E / S é flexível. A entrada pode ser uma lista / matriz / fluxo de números inteiros / flutuantes / seqüências de caracteres ou pode ser lida uma a uma a partir de STDIN. A saída pode ter dois valores distintos , retornados de uma função ou saída para STDOUT / um arquivo.
- Os números inteiros na lista de entrada estão em ordem aleatória e são garantidos positivos dentro do intervalo .
- A lista de entrada é garantida como não vazia.
- Ter um número inteiro múltiplo de duas vezes presente acima de 2 (ou seja, 4, 6, 8, etc.) será falsey. Ou seja,
[6,4,4,6,4,7,4,7]
é Falsey, embora você ainda pode criar pares iguais como este:[[4,4],[4,4],[6,6],[7,7]]
.
Regras gerais:
- Isso é código-golfe , então a resposta mais curta em bytes vence.
Não permita que idiomas com código de golfe o desencorajem a postar respostas com idiomas que não sejam codegolf. Tente encontrar uma resposta o mais curta possível para 'qualquer' linguagem de programação. - As regras padrão se aplicam à sua resposta com as regras de E / S padrão , para que você possa usar STDIN / STDOUT, funções / método com os parâmetros adequados e programas completos do tipo retorno. Sua chamada.
- As brechas padrão são proibidas.
- Se possível, adicione um link com um teste para o seu código (ou seja, TIO ).
- Além disso, é altamente recomendável adicionar uma explicação para sua resposta.
Casos de teste:
Truthy:
[7,13,9,2,10,2,4,10,7,13,4,9]
[1,2,3,1,2,3]
[10,100,1000,1,100,10,1000,1]
[123,123]
[8,22,57189,492,22,57188,8,492,57188,57189,1,1]
Falsey:
[6,4,4,6,4,7,4,7]
[2,2,2,2,2,2]
[5,1,4,5,1,1,4]
[77,31,5,31,80,77,5,8,8]
[1,2,3,2,1]
[44,4,4]
[500,30,1]
[1,2,1,1]
[2,4,6,4,4,4]
[2,23,34,4]
[2,23,3,3,34,4]