diff --git a/src/_test_/index.test.js b/src/_test_/index.test.js index 85c6bea..e16a793 100644 --- a/src/_test_/index.test.js +++ b/src/_test_/index.test.js @@ -65,4 +65,8 @@ describe('baseConverter in hexa', () => { expect(baseConverter(10012, 16)).toBe('271C'); }); + it('should be Z', () => { + expect(baseConverter(35, 36)).toBe('Z'); + }) + }); diff --git a/src/index.js b/src/index.js index 2f46b4b..098509d 100644 --- a/src/index.js +++ b/src/index.js @@ -1,8 +1,27 @@ const { StackObj } = require ('./stack-obj'); +const hex = '0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ'; + function baseConverter(decNumber, base) { - // your code - return ; + if(!(base < 37 && base > 1)) { + return null; + } + + const stack = new StackObj(); + + while(decNumber > 0) { + let left = hex[decNumber % base]; + stack.push(left); + decNumber = Math.floor(decNumber / base); + } + + let answer = ''; + + while(!stack.isEmpty()) { + answer += stack.pop() + } + + return answer; } module.exports = { baseConverter };