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; +