짱아의 개발 기록장

LeetCode : 7. Reverse Integer 본문

Algorithm/LeetCode

LeetCode : 7. Reverse Integer

jungahshin 2020. 12. 27. 22:35
반응형

integer값을 반대로 출력하는 문제였다.

 

[핵심 포인트]

가장 핵심 포인트는! 형변환이었던 것 같다.

32-bit signed integer range: [−231,  231 − 1]라고 범위가 명시되어 있었다.

 

특히, 음수의 경우 음수에서 양수로 바꾸면 딱 정수의 범위를 넘어가는 경우가 나올 수 있기 때문에,,,(ex.-2147483648)

long long형으로 바꾸어서 string으로 변환했다.

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
#include <climits>
 
class Solution {
public:
    int reverse(int x) {
        bool isMinus = false;
        string s = "";
        
        if(x<0){
            isMinus = true;
            long long temp = x;
            s = to_string(-temp);
        }else{
            s = to_string(x);
        }
                
        string temp = "";
        for(int i=s.size()-1; i>=0; i--){
            temp += s[i];
        }
                
        long long final = stoll(temp);
        
        if(final>INT_MAX || final<INT_MIN){
            return 0;
        }
        
        if(isMinus==true){
            final = -final;
        }
        
        return final;
    }
};
cs
반응형
Comments