[Leetcode] 7. Reverse Integer
Problem
32-bit의 integer x를 뒤집어서 리턴하라. 이때 [-2^31, 2^31 -1] 범위를 벗어나면 0을 리턴한다.
Solution
- 음수인지 아닌지를 파악, 음수라면 '-'을 따로 보관
- 문자를 뒤에서부터 새로운 배열의 값으로 추가함, '-'의 값만 추가하지않는 조건처리
- integer의 범위를 확인하고 벗어나면 0으로 처리
JS Code
js
/**
* @param {number} x
* @return {number}
*/
var reverse = function(x) {
const str = `${x}`
const isNegative = isNaN(str[0])
let answer = isNegative ? '-' : ''
for(let i = str.length-1; 0 <= i ; i--) {
if (isNegative && i === 0) continue
answer = answer.concat(str[i])
}
if (-Math.pow(2,31) <= +answer && answer <= Math.pow(2,31)-1) return +answer
return 0
}