LeetCode/Medium

29. Divide Two Integers

GenieLove! 2022. 3. 30. 12:41
728x90
반응형

Python

class Solution:
    def divide(self, dividend: int, divisor: int) -> int:
        is_minus = False
        if (dividend > 0 and divisor < 0) or (dividend < 0 and divisor > 0):
            is_minus = True
        dividend, divisor = abs(dividend), abs(divisor)
        count = 0
        
        count = dividend // divisor
        if (count >= 2 ** 31 and is_minus):
            count = 2 ** 31
        if(count >= (2 ** 31) -1 and not is_minus):
            count = 2 ** 31 - 1

        return count if not is_minus else count * (-1)

Java

class Solution {
    public int divide(int dividend, int divisor) {
        double result = dividend * (1.0) / divisor;
        
        if (result > Math.pow(2, 31) - 1.0) {
            result = Math.pow(2, 31) - 1.0;
        } else if (result < Math.pow(2, 31) * (-1)) {
            result = Math.pow(2, 31) * (-1);
        }
        
        return (int)result;
    }
}
728x90
반응형

'LeetCode > Medium' 카테고리의 다른 글

102. Binary Tree Level Order Traversal  (0) 2022.04.05
50. Pow(x, n)  (0) 2022.04.01
11. Container With Most Water  (0) 2022.03.28
12. Integer to Roman  (0) 2022.03.26
15. 3Sum  (0) 2022.03.24