Coding Test/LeetCode
[Javascript] (LeetCode) 7. Reverse Integer (Medium)
Chaedie
2022. 7. 25. 05:23
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문으로 분기 하지 않고, 단순히 부호를 곱해준 것을 결과값으로 대응 시킬수 있었다.