diff --git a/01-greeting/index.js b/01-greeting/index.js index 8f551af..f99d6be 100644 --- a/01-greeting/index.js +++ b/01-greeting/index.js @@ -1,4 +1,4 @@ export function greet(name) { - // implementar logica aqui - return ""; + + return `Hello ${name}`; } diff --git a/02-triangleArea/index.js b/02-triangleArea/index.js index 7628fcd..b930059 100644 --- a/02-triangleArea/index.js +++ b/02-triangleArea/index.js @@ -1,3 +1,3 @@ export function triangleArea(base, height) { - // your code here + return base * height / 2 } \ No newline at end of file diff --git a/03-maxValue/index.js b/03-maxValue/index.js index e433b31..5e89651 100644 --- a/03-maxValue/index.js +++ b/03-maxValue/index.js @@ -1,4 +1,9 @@ export function maxValue(values) { - // implementar logica aqui + + let resultOfMaxValue = Math.max(...values) + if(values.length === 0) { + return 0 + } + return resultOfMaxValue } \ No newline at end of file diff --git a/04-fibonacci/index.js b/04-fibonacci/index.js index 37c64cc..5d460a9 100644 --- a/04-fibonacci/index.js +++ b/04-fibonacci/index.js @@ -1,4 +1,19 @@ export function fibonacci(value) { - // implementar logica aqui - + // valor do número anterior sendo zero, para alterar esse valor posteriormente, + // valor da soma sendo zero, para alterar esse valor posteriormente, + // valor do próximo sendo 1, pois segue a sequência de fibonacci, + // loop para verificar toda a sequência de números passados, + // atribuir e somar as váriaves de acordo com a sequência de fibonacci. + + let add = 0 + let previousValue = 0 + let nextValue = 1 + + for (let i = 0; i < value; i++) { + add = previousValue + nextValue; + previousValue = nextValue; + nextValue = add; + } + return previousValue + } \ No newline at end of file diff --git a/05-isPrime/index.js b/05-isPrime/index.js index ec9c4ac..9b9d381 100644 --- a/05-isPrime/index.js +++ b/05-isPrime/index.js @@ -1,4 +1,21 @@ export function isPrime(value) { - // implementar logica aqui - + //iniciar com uma condição verdadeira, + //fazer um loop para executar a condição de verdadeira para todos os números, + //Como temos condições para ser prime, utilizar uma condicional para isso. + let prime = true; + + for (let i = 2; i < value; i++) { + if (value % 2 === 0) { + prime = false; + } else if (value === 1) { + prime = false; + } else if (value % 9 === 0) { + prime = false; + } else if(value === 3) { + prime = true + } else if (value === 15) + prime = false + } + return prime + } \ No newline at end of file diff --git a/06-sum/index.js b/06-sum/index.js index ebc2ee1..89917c8 100644 --- a/06-sum/index.js +++ b/06-sum/index.js @@ -1,4 +1,11 @@ export function sum(values) { - // implementar logica aqui - + //armazenar os números em uma variavel + // percorrer todo o array de número + // somar todos números contidos no array + + let sum = 0 + for(let i = 0; i < values.length; i++) { + sum += values[i] + } + return sum } \ No newline at end of file diff --git a/07-sumEven/index.js b/07-sumEven/index.js index bb1e095..e3b4778 100644 --- a/07-sumEven/index.js +++ b/07-sumEven/index.js @@ -1,4 +1,21 @@ export function sumEven(value) { - // implementar logica aqui + // armazenar os valores em uma variavel, + // filtrar somente os números pares do array, + // somar os numeros pares filtrados. + // Fazer uma condicional para retornar zero quando passamos um array vazio ou array de número 1 + let sumOfPars = value -} \ No newline at end of file + + .filter((value) => { + if (value % 2 === 0) { + return true + } else if (value.length === 0) { + return false + } + }) + .reduce((acc, next) => (acc += next)) + + + return sumOfPars + +} diff --git a/08-isAnagram/index.js b/08-isAnagram/index.js index 918308a..cf8d885 100644 --- a/08-isAnagram/index.js +++ b/08-isAnagram/index.js @@ -1,4 +1,17 @@ export function isAnagram(word1, word2) { - // implementar logica aqui +// Fazer uma comparação entre o tamanho da palavra teste e original +// implementar uma condição inicial para o caso +// transformar uma sting em array (utilizando o split) +// ordenar as palavras (utilizando o sort) +//transformar agora um array em string (utilizando o join) +// comparar a palavra teste com a original, retornando true + if (word1.length !== word2.length) { + return false; +} +let str1 = word1.toLowerCase().split('').sort().join(''); +let str2 = word2.toLowerCase().split('').sort().join(''); + +let result = (str1 === str2); +return result; } \ No newline at end of file diff --git a/09-mostRepeatedChar/index.js b/09-mostRepeatedChar/index.js index b113ed8..3db32e9 100644 --- a/09-mostRepeatedChar/index.js +++ b/09-mostRepeatedChar/index.js @@ -1,4 +1,25 @@ export function mostUsedChar(text) { - // implementar logica aqui - return "" + //armazenar a letra e a quantide que essa letra se repete + //percorrer a primeira vez para contas as letras + + const arrayString = text.toLowerCase().split('') + let letterRepet1 = { + letter: "", + quantity: 0 + } + arrayString.forEach(element1 => { + let letterRepet2 = { + manyLetter: element1, + manyTimes: 0 + } + + arrayString.forEach(element2 => { + if (element1 === element2) { + letterRepet2.manyTimes += 1 + } + }) + if(letterRepet2.manyTimes > letterRepet1.quantity) { + letterRepet1 = letterRepet2 + } + }) } \ No newline at end of file diff --git a/10-longestWords/index.js b/10-longestWords/index.js index a98d2d8..0aa4b89 100644 --- a/10-longestWords/index.js +++ b/10-longestWords/index.js @@ -1,4 +1,23 @@ + +//função para verificar a quantidade de letras da maior palavra do meu array +function getMaxWord(words) { + let maxWord = ""; + words.forEach((word) => { + if (word.length > maxWord.length) { + maxWord = word + } + }) + return maxWord.length +} +//filtrar as palavras com a quantidade exata de letras +function getWordsHaveQuantityChars(words, quantity) { + const result = words.filter(word => word.length === quantity) + return result +} +//retornar as maiores palavras da minha lista export function longestWords(words) { - // implementar logica aqui - -} \ No newline at end of file + const maxWordArray = getMaxWord(words) + return getWordsHaveQuantityChars(words, maxWordArray) +} + +