본문 바로가기
Coding Test/LeetCode

[Javascript] (LeetCode) 7. Reverse Integer (Medium)

by Chaedie 2022. 7. 25.
728x90

[Javascript] (LeetCode) 7. Reverse Integer (Medium)

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
  let result = 0;
  if (x < 0) {
    result = parseInt(0 - Math.abs(x).toString().split('').reverse().join(''));
  } else {
    result = parseInt(x.toString().split('').reverse().join(''));
  }

  Math.abs(result);
  if (Math.abs(result) > 2 ** 31) {
    return 0;
  }

  return result;
};
  • 다른 사람 풀이 참고한 풀이

/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
  const result = parseInt(Math.abs(x).toString().split('').reverse().join('')) * Math.sign(x);
  return Math.abs(result) > 2 ** 31 ? 0 : result;
};
  • 배운 점, 느낀 점

  • Math.sign(x) 라는 놈으로 부호를 가져올수 있다. 이를 통해 if문으로 분기 하지 않고, 단순히 부호를 곱해준 것을 결과값으로 대응 시킬수 있었다.

댓글