본문 바로가기
Algorithm/Leetcode

LeetCode - Reverse Integer

by du.it.ddu 2020. 6. 27.
반응형

문제 링크 : https://leetcode.com/problems/reverse-integer/

난이도 : Easy


문제 풀이 :

주어진 숫자를 거꾸로 뒤집는 문제이다.

10으로 나눈 나머지를 계속하여 자릿수를 만들면서 더해주면 뒤집을 수 있다.

다만 주의할 점은 32-bit signed integer를 사용한다는 부분이다. 이 Integer의 범위를 넘어간 값은 0을 반환해야 한다.

그래서 결과값이 이 범위를 넘어가는지 안넘어가는지 체크하기 위해 Long 자료형을 사용해야 한다.


소스 코드 :

class ReverseInteger {
    fun reverse(x: Int): Int {
        var answer: Long = 0
        var num = x

        while(num != 0) {
            answer = answer * 10 + (num % 10)
            num /= 10
        }

        if(answer > Integer.MAX_VALUE || answer < Integer.MIN_VALUE) {
            return 0
        }

        return answer.toInt()
    }
}

후기 : 

처음 문제의 32-bit signed integer에 대한 내용을 읽지 않아서 틀렸다는 결과를 받았다.

문제를 보자마자 자주 풀었던 유형이고 쉽다고 생각하여 바로 접근한 것이 화근이었다.

문제부터 다 읽고 조건이나 예외 사항을 파악하는 습관이 필요할 것 같다.

반응형

'Algorithm > Leetcode' 카테고리의 다른 글

LeetCode - Merge Two Sorted Lists  (0) 2020.07.30
LeetCode - Valid Parentheses  (0) 2020.06.27
LeetCode - Longest Common Prefix  (0) 2020.06.27
LeetCode - Roman to Integer  (0) 2020.06.27
LeetCode - Two Sum  (0) 2020.06.27