Daily LeetCode Challenge - 50. Pow(x, n)

Min Young Kim·2023년 7월 24일
0

algorithm

목록 보기
198/198

Problem From.

https://leetcode.com/problems/powx-n/

오늘 문제는 pow 함수를 구현하는 문제였다.

이 문제는 dfs 와 각각의 경우를 나누어서 풀 수 있었는데,
먼저 n 이 0 인 경우 1을 반환해주고,
n 이 0 보다 작은 경우 분수 계산을 해주고
그 이외의 경우에는 pow 계산을 하도록 나누어서 재귀를 해주었다.

class Solution {

    fun myPow(x: Double, n: Int): Double {
        return dfs(x , 1L * n)
    }
    
    fun dfs(x:Double,n:Long):Double{
        if(n == 0L) return 1.0

        if(n < 0) return dfs(1/x , -n)
            
        return if(n % 2 == 0L) dfs(x * x , n / 2)
        else dfs(x * x , n / 2) * x
            
    }
}
profile
길을 찾는 개발자

0개의 댓글