작심삼일

[LeetCode] 326 | Power of Three | Python 본문

스터디/코테

[LeetCode] 326 | Power of Three | Python

yun_s 2022. 8. 24. 09:07
728x90
반응형

문제 링크: https://leetcode.com/problems/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 == $3^x$.


조건

  • $-2^{31}$ <= n <= $2^{31} - 1$

내 풀이

0과 음수들은 3의 제곱수가 아니니 제외한다.

양수들은 3으로 계속 나눠서 나머지가 0이 아니면 False를 리턴한다.

while문을 무사히 통과하면 3의 제곱수가 되므로 True를 리턴한다.


코드

class Solution:
    def isPowerOfThree(self, n: int) -> bool:
        if n < 1:
            return False
        
        while n > 1:
            remain = n % 3
            if remain > 0:
                return False
            
            n = n // 3
        
        return True
728x90
반응형
Comments