forked from M3-Academy/challenge-algorithms-v2.0
Merge pull request 'feature/desafio2' (#1) from feature/desafio2 into master
Reviewed-on: #1
This commit is contained in:
commit
16a9b8393d
@ -1,4 +1,4 @@
|
|||||||
export function greet(name) {
|
export function greet(name) {
|
||||||
// implementar logica aqui
|
|
||||||
return "";
|
return `Hello ${name}`;
|
||||||
}
|
}
|
||||||
|
@ -1,3 +1,3 @@
|
|||||||
export function triangleArea(base, height) {
|
export function triangleArea(base, height) {
|
||||||
// your code here
|
return base * height / 2
|
||||||
}
|
}
|
@ -1,4 +1,9 @@
|
|||||||
export function maxValue(values) {
|
export function maxValue(values) {
|
||||||
// implementar logica aqui
|
|
||||||
|
let resultOfMaxValue = Math.max(...values)
|
||||||
|
if(values.length === 0) {
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
return resultOfMaxValue
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,19 @@
|
|||||||
export function fibonacci(value) {
|
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
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,21 @@
|
|||||||
export function isPrime(value) {
|
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
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,11 @@
|
|||||||
export function sum(values) {
|
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
|
||||||
}
|
}
|
@ -1,4 +1,21 @@
|
|||||||
export function sumEven(value) {
|
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
|
||||||
|
|
||||||
}
|
|
||||||
|
.filter((value) => {
|
||||||
|
if (value % 2 === 0) {
|
||||||
|
return true
|
||||||
|
} else if (value.length === 0) {
|
||||||
|
return false
|
||||||
|
}
|
||||||
|
})
|
||||||
|
.reduce((acc, next) => (acc += next))
|
||||||
|
|
||||||
|
|
||||||
|
return sumOfPars
|
||||||
|
|
||||||
|
}
|
||||||
|
@ -1,4 +1,17 @@
|
|||||||
export function isAnagram(word1, word2) {
|
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;
|
||||||
|
|
||||||
}
|
}
|
@ -1,4 +1,25 @@
|
|||||||
export function mostUsedChar(text) {
|
export function mostUsedChar(text) {
|
||||||
// implementar logica aqui
|
//armazenar a letra e a quantide que essa letra se repete
|
||||||
return ""
|
//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
|
||||||
|
}
|
||||||
|
})
|
||||||
}
|
}
|
@ -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) {
|
export function longestWords(words) {
|
||||||
// implementar logica aqui
|
const maxWordArray = getMaxWord(words)
|
||||||
|
return getWordsHaveQuantityChars(words, maxWordArray)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user