263. Ugly Number

Doyeon Kim·2022년 7월 27일

코딩테스트 공부

목록 보기
92/171

문제 링크 : https://leetcode.com/problems/ugly-number/


소인수가 2,3또는 5로만 이루어졌으면(=Ugly Number) True, 아니면 False를 반환한다.

이전에 소인수분해문제를 풀어봤지만 이번 문제는 어려웠다.

20(Ugly Number)를 예로들면 20을 2로 나누면 10, 10을 2로 나누면 5, 그리고 5는 5로 나누면 1이 된다.

14는 2로 나누먄 7, 그리고 7은 2,3,5 중에 아무것도 나누어지지 않는다.

import math 

class Solution:
    def isUgly(self, n: int) -> bool:
        for i in 2,3,5:
            while n%i ==0 < n:
                n/=i
        return n == 1

코드 자체는 어렵지는 않으나 이를 논리적으로 생각하기까지가 꽤나 어려웠다.....

profile
성장하고 도전하는 개발자. 프로그래밍 좋아하세요?

0개의 댓글