숫자를 뒤집는 문제. 자바스크립트는 2^53까지라 문제에서 제시하는 범위를 넘어도 상관없지만 처리를 해줌.
결과를 보니 오버플로우 최적화를 안해서 그런 것 같으나 일단 통과해서 넘어가기로..
function reverse(x: number): number {
const isNegative = x < 0;
let s = '';
const xString = Math.abs(x).toString();
const len = xString.length;
for (let i = len - 1; i >= 0; i--) {
s = s.concat(xString[i])
}
if (isNegative) {
if (-1 * Number(BigInt(s)) < -1 * Math.pow(2, 31)) {
return 0
}
return -1 * Number(BigInt(s))
}
if (Number(BigInt(s)) > Math.pow(2, 31) - 1) {
return 0
}
return Number(BigInt(s))
}
