- Preste atenção no nome das funções nos exemplos! Não mude.
- Não utilize bibliotecas que fazem toda lógica. Desta forma o exercício perde o sentido.
#letsCommitate
Dado um objeto no formato de um hash
(pares chave/valor, lembram?) que possui letras e quantas vezes elas devem aparecer, escreva uma função que retorne um array ordenado alfabeticamente com todas possibilidades de palavras que podem ser formadas a partir do hash.
Pirou? Respire 3 vezes, ligue a música de foco (playlists no Spotify sugeridas: aqui e aqui), pegue café (sem açúcar) e veja o caso de teste abaixo:
describe('Exemplos ex 1', function() {
it('quando informa 2a, 1b 1c', function() {
var esperado = ['aabc', 'aacb', 'abac', 'abca', 'acab', 'acba', 'baac', 'baca', 'bcaa', 'caab', 'caba', 'cbaa'];
expect(gerarPalavras({ 2: [ 'a' ], 1: [ 'b', 'c' ] })).toBe(esperado);
});
});
IMPORTANTE: Preste atenção no formato do objeto passado no exemplo. Não serão aceitos outros tipos de parâmetros (array de strings, etc). Siga exatamente o padrão descrito!
IMPORTANTE: Não se preocupe com números ou caracteres especiais. Espere que a entrada será apenas a-z (minúsculas).
Cansado de ser um Saiyajin virtuoso, Goku decide largar tudo e fazer compras com Gohan. Mas para isto precisa de um cartão de crédito válido. Ajude Goku e crie uma função que, dado um inteiro de até 16 dígitos, retorne true
caso o número seja um cartão de crédito válido e false
caso não. Bora pesquisar!
Ex:
describe('Exemplos ex 2', function() {
it('quando informa 123', function() {
expect(verificarCC(123)).toBeFalsy();
});
it('quando informa 1230', function() {
expect(verificarCC(1230)).toBeTruthy();
});
it('quando informa amex iluminatti', function() {
expect(verificarCC(349754594167555)).toBeTruthy();
});
});
Escreva uma função que receba uma letra MAIÚSCULA e retorne o número equivalente à coluna no software Excel.
Ex:
describe('Exemplos ex 3', function() {
it('quando informa referência A', function() {
expect(excelRef('A')).toBe(1);
});
it('quando informa referência AZ', function() {
expect(excelRef('AZ')).toBe(52);
});
});
Dica: utilize a função charCodeAt para te ajudar!