[LeetCode] 263. Ugly Number

김민우·2022년 9월 4일
0

알고리즘

목록 보기
2/189

- Problem

263. Ugly Number

임의의 정수 n의 약수가 [2, 3, 5]로만 이루어져있다면, 그거시 바로 UGLY NUMBER


- 내 풀이

문제 이름처럼 ugly하게 풀었다.
엣지 케이스를 먼저 잡아준 후, 반복문을 통해 값을 나눠갔다.

class Solution:
    def isUgly(self, n: int) -> bool:
        if n == 1:
            return True
        
        if n == 0:
            return False
        
        while n != 1:
            if not n % 2:
                n //= 2
            elif not n % 3:
                n //= 3
            elif not n % 5:
                n //= 5
            else:
                break
        
        else:
            return True
        
        return False

결과


- 다른 사람 풀이

def isUgly(self, num: int) -> bool:
        if num==0: return False
        for f in [2,3,5]:
            while num%f==0:
                num/=f
            if num == 1:
                return True

재수없다. 깔끔하다.

profile
Pay it forward.

0개의 댓글