article thumbnail image
Published 2022. 6. 7. 21:20

  1. Palindrome Number

정수 x가 주어질 때 x가 회문 숫자인지 구하는 것

문자열로 바꿨을 때 맨앞과 맨뒤부터 시작하여 한칸씩 이동하며 같은 정수인지 확인하는 것으로 해결하였습니다.

이때 종료되는 경우를 생각했을 때 앞에서 시작하는 번호와 뒤에서 시작하는 번호가 같거나,
앞에서 시작하는 번호가 뒤보다 더 클때를 종료해야할 때로 생각했고 그 외 경우는 반복문을 계속 돌려 진행하였습니다

해결한 코드

var isPalindrome = function(x) {
    const NumberToString = x + ""
    let front = 0
    let back = NumberToString.length-1

    while(front <= back) {
        if(NumberToString[front] !== NumberToString[back])
            return false
        front += 1
        back -= 1
    }
    return true
};

이후 참고한 코드

string으로 변환하지 않고 풀 수 있는지를 물어보기도 하던데 그 부분은 찾아봐도 별로 없어서 패스하였습니다.

문자열을 뒤집어서 비교하는 것도 한가지 방법이 될 수 있습니다.

const isPalindrome = function (x) {
  return x.toString().split('').reverse().join('') == x.toString();
};
복사했습니다!