Palindrome Number (LeetCode)

정승옥(seungok)·2021년 2월 1일
0

문제설명

  • 입력한 x 값이 앞, 뒤가 같은 회문 숫자이면 true 아니면 false 반환

제한조건

  • x는 -2**31 이상 2**31 - 1 이하의 정수

풀이

var isPalindrome = function(x) {
    // 음수일 경우 false, 0~9일 경우 true
    if(x < 0)
        return false;
    else if(x>=0 && x<10)
        return true;
    const stringArr = String(x).split('');
    const numberLength = stringArr.length;
    let leftArr;
    let rightArr;
    // 숫자를 문자열로 바꿨을때 길이가 홀수일 경우, 짝수일 경우
    if(numberLength % 2 === 1){
        leftArr = stringArr.splice(0,Math.floor(numberLength / 2));
        rightArr = stringArr.splice(1,Math.floor(numberLength / 2));
    }else{
        leftArr = stringArr.splice(0,numberLength / 2);
        rightArr = stringArr.splice(0,numberLength / 2);
    }
    // 왼쪽 절반, 역순으로 바꾼 오른쪽 절반 비교
    return leftArr.join('') === rightArr.reverse().join('') ? true : false;
};
profile
Front-End Developer 😁

0개의 댓글

관련 채용 정보