😎풀이

  1. n이 0 혹은 음수라면, 2와 3과 5로 나누어 떨어질 수 없음
  2. 2, 3, 5로 n을 최대한 나눔
    2-1. 낮은 수부터 약분 가능할 때까지 최대한 나눔
  3. 최종적으로 n이 1이 될 경우 나누어 떨어진다는 뜻으로 ugly number가 됨
function isUgly(n: number): boolean {
    if (n <= 0) return false; 
    
    const factors = [2, 3, 5];
    
    for (const factor of factors) {
        while (n % factor === 0) { 
            n /= factor;
        }
    }
    
    return n === 1;
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글