본문 바로가기
알고리즘/LeetCode

[Leetcode][Javascript][Medium] 7. Reverse Integer

by Benjamin_Choi 2021. 7. 4.
/**
 * https://leetcode.com/problems/reverse-integer/
 * @param {number} x
 * @return {number}
 */
 var reverse = function(x) {
    var reverseNumArr = Math.abs(x).toString().split("").reverse();    
    var zeroRemovedArr = removeZero(reverseNumArr);
    if (x < 0) {
        zeroRemovedArr.unshift("-");
    }
    var resultNum = zeroRemovedArr.join("");
    if (rangeCheck(resultNum)) {
        return resultNum;
    } else {
        return 0;
    }
};

function removeZero(numArr) {
    if (numArr.length === 1 && numArr[0] === 0) {
        return numArr;
    }
    let idx = 0;
    for (let i = 0; i < numArr.length; i++) {
        if (numArr[i] !== 0) {
            idx = i;
            break;
        }
    }
    return numArr.slice(idx);
}

function rangeCheck(num) {
    if (num < -Math.pow(2, 31) || num >= Math.pow(2, 31)) {
        return false;
    }
    return true;
}

댓글