N

(Leet Code c++)Power of Three 본문

Leet Code 알고리즘

(Leet Code c++)Power of Three

naeunchan 2021. 8. 3. 10:14
728x90
반응형

326. Power of Three

 

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 == 3x.

 

Example 1:

Input: n = 27 Output: true

Example 2:

Input: n = 0 Output: false

Example 3:

Input: n = 9 Output: true

Example 4:

Input: n = 45 Output: false

 

Constraints:

  • -231 <= n <= 231 - 1

주어진 수가 3의 거듭 제곱인지 확인하는 문제.

 

n이 0보다 작다면 바로 false를 리턴.

 

while문으로 n이 1일 때까지 반복.

n을 3으로 나눴을 때 나머지가 0이 아니라면 3의 거듭 제곱이 아니므로 바로 false를 리턴한다.

0이라면 n을 계속해서 3으로 나눠준다.

 

이후 n이 1이 된다면 true를 리턴한다.

class Solution {
public:
    bool isPowerOfThree(int n) {
        if(n <= 0){
            return false;
        }
        
        while(n != 1){
            if(n % 3){
                return false;
            }
            n /= 3;
        }
        
        return true;
    }
};
728x90
반응형

'Leet Code 알고리즘' 카테고리의 다른 글

(Leet Code c++)Power of Four  (0) 2021.08.03
(Leet Code c++)Counting Bits  (0) 2021.08.03
(Leet Code c++)Range Sum Query  (0) 2021.08.02
(Leet Code c++)Word Pattern  (0) 2021.08.02
(Leet Code c++)Move Zeroes  (0) 2021.07.30