Post

[LeetCode 326] Power of Three

LeetCode 326 (Java)
[Power of Three] 문제 풀이

[LeetCode 326] Power of Three

문제 바로가기


Description


Given an integer n, return true if it is a power of three. Otherwise, return false.

An integer n is a power of three, if there exists an integer x such that n == 3^x.


Example 1


  • Input: n = 27
  • Output: true
  • Explanation: 27 = 3^3


Example 2


  • Input: n = 0
  • Output: false
  • Explanation: There is no x where 3^x = 0.


Example 3


  • Input: n = -1
  • Output: false
  • Explanation: There is no x where 3^x = (-1).


Constraints


  • -2^31 <= n <= 2^31 - 1







Code


내 제출


1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
    public boolean isPowerOfThree(int n) {
        while (n > 2) {
            if (n % 3 != 0) {
                return false;
            }
            n /= 3;
        }
        return n == 1;
    }
}


RuntimeMemory
8 ms43.6 MB


다른 풀이


1
2
3
4
5
6
7
8
9
10
11
12
class Solution {
    public boolean isPowerOfThree(int n) {
        if(n<=0)
        return false;
        while(n%3==0)
        {
            n=n/3;
        }
        return n==1;
    }
}


Reference


  • https://github.com/doocs/leetcode/blob/main/solution/0300-0399/0326.Power%20of%20Three/Solution.java
This post is licensed under CC BY 4.0 by the author.