개발조각

[리트코드] 7. Reverse Integer 본문

알고리즘🅰/리트코드

[리트코드] 7. Reverse Integer

개발조각 2022. 9. 12. 18:12
728x90
반응형

안녕하세요. 개발조각입니다.😊

해결방안에 대해 설명하겠습니다.


해결방안

var reverse = function(x) {
    let str =  String(x).split('').reverse();
    
    if(x < 0){
        let minus = str.pop();        
        str.unshift(minus);
    }    
    
    if(str.join('') > 2**31-1 || str.join('') < (-2)**31) return 0;
    
    return str.join('');
};

 

let str =  String(x).split('').reverse();

먼저

String()을 사용하여 숫자를 문자로 만들어주고

split('')로 문자열로 배열로 만들어줍니다.

그리고 reverse()를 사용하여 배열을 뒤집어 줍니다.

 

if(x < 0){
    let minus = str.pop();        
    str.unshift(minus);
}

만약 x가 음수값일 경우

str에서 '-'를 가장 앞으로 옮깁니다.

 

if(str.join('') > 2**31-1 || str.join('') < (-2)**31) return 0;

만약 str.join한 값이 -231 <= x <= 231 - 1에 포함되지 않으면 0을 반환해 줍니다.

 

return str.join('');

join()을 해주어 배열을 문자열로 만들어줍니다.

 

728x90
반응형
Comments