문제 링크
문제 요구 조건
문제는 숫자가 
Panlindrome 숫자인지 판별하는 문제이다. Panlindrome 숫자란 중앙에서 부터 양끝으로 대칭이 되는 숫자를 말한다. 입력값은 number이고 반환값은 boolean이 되면 된다. 
나의 문제 풀이
결론적으로 문제를 30분내에 풀지 못했다. 계속 왜 안되지하고 생각했었는데, 변수를 잘못 넣어서 안된 것이었다. ㅠ 코드는 다음과 같다.
나의 문제풀이
/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function (x) {
    if (x < 0) return false;
    const j = x.toString();
    for (let i = 0; i < x.length; i++) {
        const p = j.length - i - 1;
        if (i > x.length / 2) break;
        if (x[i] !== x[p]) {
            return false;
        }
    }
    return true;
};- x가 음수라면 panlindrome이 성립하지 못하므로 제일 처음에 반환했다.
- 그리고 문자열로 변환
- 숫자의 길이를 체크하고 i가 커질수록 제일 마지막 인덱스에서 점차 작아지는 인덱스 j를 정의한다.
- length의 반을 순회하면 for문을 빠져 나온다.
- 검증중에 두 숫자가 다르다면 바로 false를 리턴
피드백
로직은 맞는 거 같은데, 변수를 잘못 연결해서 제대로 동작하지 않았다. 
정답 문제 풀이
정답을 보면 일단 로직의 방향성은 맞았구나라고 생각한다. 하지만 이번 기회에 배울수 있었던 것은
- number는 length함수를 사용하지 못한다.
- length의 반만 순회하기 위해서 if 문을 넣는 것보다 for문에서 정리하면 깔끔하다
정답 문제 풀이
/**
 * @param {number} x
 * @return {boolean}
 */
var isPalindrome = function(x) {
    if (x < 0) return false;
    const s = x.toString(); // 변수명을 s (string)로 변경하여 가독성 향상
    const len = s.length;
    // 반복문은 문자열 길이의 절반만 돌면 됩니다.
    for (let i = 0; i < len / 2; i++) {
        // s[i] : 앞에서부터 i번째 글자
        // s[len - 1 - i] : 뒤에서부터 i번째 글자
        if (s[i] !== s[len - 1 - i]) {
            return false; // 하나라도 다르면 즉시 false 반환
        }
    }
    return true; // 반복문이 문제 없이 끝나면 true
};
![[LeetCode] Palindrome Number](/_next/image?url=https%3A%2F%2Fwww.notion.so%2Fimage%2Fattachment%253A24003284-054c-4114-a2cc-30c06200a54b%253A16.png%3Ftable%3Dblock%26id%3D25a9c76c-6cb4-808f-84bf-c1ba54a797b1%26spaceId%3Db4216657-966f-4c29-ae8c-42f6c4adb66d&w=3840&q=75)
