diff --git a/src/challenges.js b/src/challenges.js index 940a599..e16eb50 100644 --- a/src/challenges.js +++ b/src/challenges.js @@ -13,13 +13,34 @@ const repeatedWords = [ "matter" ]; -function howManyTimes() {} +function howManyTimes(wordArr, word) { + let count = 0 + for (let i = 0; i < wordArr.length; i++) { + if (wordArr[i] === word) { + count++ + } + } + return count +} // Iteration 2 | Number Sequence -function createSequence() {} +function createSequence(n) { + let newArray = [] + let newItem + for (let i = 0; i < n + 1; i++) { + newItem = i + newArray.push(newItem) + } + + if (n === 0) { + newArray = [] + } + + return newArray +} @@ -27,7 +48,14 @@ function createSequence() {} // Iteration 3 | Multiply for Each const numbers = [1, 2, 5, 10, 13, 50]; -function multiplyBy() {} +function multiplyBy(numArr, num) { + let multipliedArray = [] + numArr.forEach(element => { + multipliedArray.push(element * num) + } + ) + return multipliedArray +} @@ -36,7 +64,34 @@ function multiplyBy() {} const original = ["cat", "dog", "fish", "bird", "cat", "fish"]; const toRemove = ["cat", "dog"]; -function filterOut() {} +function filterOut(arr1, arr2) { + let filteredArr = [] + + arr1.forEach(element => { + let shouldKeep = true + + for(let i = 0; i < arr2.length; i++){ + if(element === arr2[i]){ + shouldKeep = false + break + } + } + + if(shouldKeep){ + filteredArr.push(element) + } + + + }) + + if(arr1.length === 0){ + return null + } + + return filteredArr + } + + console.log(filterOut(original, toRemove)) @@ -56,8 +111,35 @@ const duplicateWords = [ "bring" ]; -function uniquifyArray() {} +// function uniquifyArray(arr) { + +// let uniquifiedArr = arr.filter((element, index) => +// arr.indexOf(element) === index +// ) + +// if(arr.length === 0){ +// return null +// } + +// return uniquifiedArr +// } + + +function uniquifyArray(arr) { + let result = [] + + for(let i = 0; i < arr.length; i++){ + if(!result.includes(arr[i])){ + result.push(arr[i]) + } + } + if(arr.length === 0){ + return null + } + + return result +} @@ -85,4 +167,36 @@ const matrix = [ [1, 70, 54, 71, 83, 51, 54, 69, 16, 92, 33, 48, 61, 43, 52, 1, 89, 19, 67, 48] ]; -function greatestProduct() {} +function greatestProduct(matrix) { + let horizontalResult = 0 + let verticalResult = 0 + let finalResult = 0 + + for(let i = 0; i < matrix.length; i++){ + + for(let j = 0; j < matrix[i].length -3; j++){ + + horizontalResult = matrix[i][j] * matrix[i][j+1] * matrix[i][j+2] * matrix[i][j+3] + + if(horizontalResult > finalResult){ + finalResult = horizontalResult + } + } + } + + for(let i = 0; i < matrix.length - 3; i++){ + + for(let j = 0; j < matrix[i].length; j++){ + + verticalResult = matrix[i][j] * matrix[i][j+1] * matrix[i][j+2] * matrix[i][j+3] + + if(verticalResult > finalResult){ + finalResult = verticalResult + } + } + } + + return finalResult + } + +// my brain was about to burn, but worthhh \ No newline at end of file