코딩 테스트 풀이 🛠

[Leet Code - eazy] 7. Reverse Integer

엄성준 2023. 2. 15. 15:05

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

 

Constraints:

  • -2(31승) <= x <= 2(31승) - 1

 

나의 풀이

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
/**
 * @param {number} x
 * @return {number}
 */
var reverse = function(x) {
  let stringX
    // if(x > math.)
  if(x > 0){
      stringX = String(x).split('').reverse().join('')
      if(stringX > Math.pow(2,31)) return 0
  }else{
      stringX =String(Math.abs(x)).split('').reverse().join('')
      stringX *=-1
       if(stringX < Math.pow(2,31)*-1return 0
  }
    
 
  return stringX
};
cs

 

문제를 풀며 느낀 점 

 

- 음수 양수를 구별해서 문자열을 거꾸로 뒤집는 부분은 어렵지 않았는데 요구조건에 x값이 -2(31승) <= x <= 2(31승) - 1 사이에 있지 않으면 0을 return 하라는 점을 간과한 것 같습니다.