diff --git a/src/index.js b/src/index.js index 2f46b4b..eef3e23 100644 --- a/src/index.js +++ b/src/index.js @@ -1,8 +1,30 @@ -const { StackObj } = require ('./stack-obj'); +const { StackObj } = require('./stack-obj'); function baseConverter(decNumber, base) { - // your code - return ; + const stack = new StackObj(); + const offsetAscii = 55; + let result = ''; + + if (base >= 2 && base <= 36) { + while (decNumber > 0) { + let remainder = decNumber % base; + if (remainder > 9) { + remainder = String.fromCharCode(remainder + offsetAscii); + } else { + remainder = remainder.toString(); + } + stack.push(remainder); + decNumber = Math.floor(decNumber / base); + } + + while (!stack.isEmpty()) { + result += stack.pop(); + } + } else { + return null; + } + + return result; } module.exports = { baseConverter };