From 6ba9effdaf5d9c8f49154610b0d130f06cafdcd0 Mon Sep 17 00:00:00 2001 From: Chidike Henry <30509335+lacegiovanni17@users.noreply.github.com> Date: Tue, 29 Nov 2022 00:36:37 +0100 Subject: [PATCH] Solutions to mini challenges 3 These are the solutions to the questions in mini challenges 3 --- src/binary-reversal/index.js | 10 ++++++++- src/list-sorting/index.js | 42 +++++++++++++++++++++++++++++++++++- 2 files changed, 50 insertions(+), 2 deletions(-) diff --git a/src/binary-reversal/index.js b/src/binary-reversal/index.js index 965bccf4..59ff3e78 100644 --- a/src/binary-reversal/index.js +++ b/src/binary-reversal/index.js @@ -3,6 +3,14 @@ * * * @param {string} value */ -function binaryReversal(value) {} +function binaryReversal(value) { + let binaryNum = parseInt(value); + let binary = binaryNum.toString(2); + let padded = binary.padStart(8, "0"); + let reversed = padded.split("").reverse().join(""); + let result = parseInt(reversed, 2); + let finalResult = result.toString(); + return finalResult; +} module.exports = binaryReversal; diff --git a/src/list-sorting/index.js b/src/list-sorting/index.js index 6636c20d..dda2e48a 100644 --- a/src/list-sorting/index.js +++ b/src/list-sorting/index.js @@ -1,3 +1,43 @@ -function listSorting(needle, haystack) {} +function listSorting(needle, haystack) { + if (haystack.length === 0) { + return -1 + } + + let event = 0; + for (let i = 0; i < haystack.length; i++) { + if (haystack[i] === needle) { + event++; + } + } + + if (event === 0) { + return -1; + } else if (event === 1) { + return haystack.indexOf(needle) + } else { + return haystack.lastIndexOf(needle) + } + + if (typeof (haystack[0]) === "object") { + let column + let row + + for (let i = 0; i < haystack.length; i++) { + for (let j = 0; j < haystack[i].length; j++) { + if (haystack[i][j] === needle) { + column = haystack[i].lastIndexOf(needle) + row = i + } + } + } + + if (row == undefined) return -1; + return [row, column] + } else { + return haystack.lastIndexOf(needle) + + } +} module.exports = listSorting; +