LC 7-Reverse Integer
문제
Given a signed 32-bit integer x, return x with its digits reversed. If reversing x causes the value to go outside the signed 32-bit integer range [-231, 231 - 1], then return 0.
Assume the environment does not allow you to store 64-bit integers (signed or unsigned).
예시
//example 1
Input: x = 123
Output: 321
//example 2
Input: x = -123
Output: -321
//example 3
Input: x = 120
Output: 21
//example 4
Input: x = 0
Output: 0
풀이 방법
- 입력받은 숫자를 숫자 0과 +- 기호만 빼고 뒤집는 문제이다.
- 숫자를 문자열로 치환한 뒤
reverse()
메소드로 뒤집는다. - 뒤집힌 문자열을 배열로 바꾼다.
- 배열 맨 마지막 원소가 -면 맨 앞으로 옮기고, 0이면 삭제한다.
- 배열 -> 문자열 -> 숫자로 다시 치환해서 반환한다.
- 뒤집어놓은 숫자가 지정된 숫자 범위 (
-2^31 ~ 2^32-1
) 를 벗어나면 0을 반환한다.
코드
var reverse = function(x) {
let str = x + '';
const strArr = str.split("");
let reversedArr = strArr.reverse();
if(reversedArr.length > 1 && reversedArr[0] === "0") reversedArr.splice(0, 1);
if(reversedArr[reversedArr.length-1] === "-") reversedArr.unshift(reversedArr.pop());
let answer = reversedArr.join("");
answer = Number(answer);
if(answer > 0x7FFFFFFF) return 0;
if(answer < -0x7FFFFFFF) return 0;
return answer;
};
Author And Source
이 문제에 관하여(LC 7-Reverse Integer), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@goody/LC-7-Reverse-Integer-작성중저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)