diff --git a/01-greeting/index.js b/01-greeting/index.js index 8f551af..5c0279c 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..4deaa85 100644 --- a/02-triangleArea/index.js +++ b/02-triangleArea/index.js @@ -1,3 +1,6 @@ -export function triangleArea(base, height) { +export function triangleArea(base, height) { // your code here -} \ No newline at end of file + if (!base || !height) return 0; + + return (base * height) / 2; +} diff --git a/03-maxValue/index.js b/03-maxValue/index.js index e433b31..a8ec540 100644 --- a/03-maxValue/index.js +++ b/03-maxValue/index.js @@ -1,4 +1,6 @@ export function maxValue(values) { // implementar logica aqui - + if(values.length === 0 || !values) return 0 + + return Math.max(...values) } \ No newline at end of file diff --git a/04-fibonacci/index.js b/04-fibonacci/index.js index 37c64cc..ef73b48 100644 --- a/04-fibonacci/index.js +++ b/04-fibonacci/index.js @@ -1,4 +1,16 @@ export function fibonacci(value) { // implementar logica aqui - -} \ No newline at end of file + if (!value) return 0; + + let n1 = 0, + n2 = 1, + nextTerm; + + for (let i = 1; i <= value; i++) { + nextTerm = n1 + n2; + n1 = n2; + n2 = nextTerm; + } + + return n1; +} diff --git a/05-isPrime/index.js b/05-isPrime/index.js index ec9c4ac..397ac79 100644 --- a/05-isPrime/index.js +++ b/05-isPrime/index.js @@ -1,4 +1,12 @@ export function isPrime(value) { // implementar logica aqui - -} \ No newline at end of file + if (!value) return 0; + + for(let i = 2; i < value; i++){ + if(value % i === 0){ + return false + } + } + + return true +} diff --git a/06-sum/index.js b/06-sum/index.js index ebc2ee1..8d606f2 100644 --- a/06-sum/index.js +++ b/06-sum/index.js @@ -1,4 +1,9 @@ export function sum(values) { // implementar logica aqui - -} \ No newline at end of file + if (values.length === 0 || !values) return 0; + + // acc é abreviação de accumulator(acumulador) + return values.reduce((acc, number) => { + return (acc += number); + }, 0); +} diff --git a/07-sumEven/index.js b/07-sumEven/index.js index bb1e095..a850424 100644 --- a/07-sumEven/index.js +++ b/07-sumEven/index.js @@ -1,4 +1,13 @@ export function sumEven(value) { // implementar logica aqui - -} \ No newline at end of file + if (value.length === 0 || !value) return 0; + + // acc é abreviação de accumulator(acumulador) + return value.reduce((acc, number) => { + if (number % 2 === 0) { + return (acc += number); + }else { + return acc += 0 + } + }, 0); +} diff --git a/08-isAnagram/index.js b/08-isAnagram/index.js index 918308a..4648e7b 100644 --- a/08-isAnagram/index.js +++ b/08-isAnagram/index.js @@ -1,4 +1,18 @@ export function isAnagram(word1, word2) { // implementar logica aqui - -} \ No newline at end of file + if (!word1 || !word2) return { error: 'Not Found Words' }; + + function toLowerCase(word) { + return word.toLowerCase(); + } + + function toSortWord(word) { + return word.split('').sort().join(''); + } + + function toAnalyzing(word){ + return toSortWord(toLowerCase(word)) + } + + return toAnalyzing(word1) === toAnalyzing(word2) +} diff --git a/09-mostRepeatedChar/index.js b/09-mostRepeatedChar/index.js index b113ed8..28f1041 100644 --- a/09-mostRepeatedChar/index.js +++ b/09-mostRepeatedChar/index.js @@ -1,4 +1,15 @@ export function mostUsedChar(text) { - // implementar logica aqui - return "" -} \ No newline at end of file + if (!text) return { error: 'Not Found Text' }; + + let max = 0, + maxChar = ''; + + for (let char of text) { + if (text.split(char).length > max) { + max = text.split(char).length; + maxChar = char; + } + } + + return maxChar; +} diff --git a/10-longestWords/index.js b/10-longestWords/index.js index a98d2d8..2153892 100644 --- a/10-longestWords/index.js +++ b/10-longestWords/index.js @@ -1,4 +1,21 @@ export function longestWords(words) { - // implementar logica aqui - -} \ No newline at end of file + // implementar logica aqui + if (words.length === 0 || !words) return 0; + + let wordLengthMax = 0; + let wordsList = []; + + for (let word of words) { + if (word.length >= wordLengthMax) { + wordLengthMax = word.length; + } + } + + for (let word of words) { + if (wordLengthMax === word.length) { + wordsList.push(word); + } + } + + return wordsList; +}