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)*-1) return 0
}
return stringX
};
|
cs |
문제를 풀며 느낀 점
- 음수 양수를 구별해서 문자열을 거꾸로 뒤집는 부분은 어렵지 않았는데 요구조건에 x값이 -2(31승) <= x <= 2(31승) - 1 사이에 있지 않으면 0을 return 하라는 점을 간과한 것 같습니다.
'코딩 테스트 풀이 🛠' 카테고리의 다른 글
[프로그래머스] 컨트롤 제트 (1) | 2023.02.16 |
---|---|
[프로그래머스] 잘라서 배열로 저장하기 (0) | 2023.02.16 |
[프로그래머스] 영어가 싫어요 (0) | 2023.02.15 |
공 던지기 (0) | 2023.02.15 |
[프로그래머스] 소인수분해 (0) | 2023.02.15 |