250x250
반응형
Notice
Recent Posts
Recent Comments
Link
N
(Leet Code c++)Ugly Number 본문
728x90
반응형
263. Ugly Number
An ugly number is a positive integer whose prime factors are limited to 2, 3, and 5.
Given an integer n, return true if n is an ugly number.
Example 1:
Input: n = 6 Output: true Explanation: 6 = 2 × 3
Example 2:
Input: n = 8 Output: true Explanation: 8 = 2 × 2 × 2
Example 3:
Input: n = 14 Output: false Explanation: 14 is not ugly since it includes the prime factor 7.
Example 4:
Input: n = 1 Output: true Explanation: 1 has no prime factors, therefore all of its prime factors are limited to 2, 3, and 5.
Constraints:
- -231 <= n <= 231 - 1
주어진 n를 소인수분해 했을 때 2, 3, 5만 가졌는지 확인하는 문제.
우선 0 이하인 수는 바로 false를 리턴.
n이 1 이상이라면 2, 3, 5로 나눴을 때 나머지가 0일 때까지 소인수분해를 해주도록 한다.
마지막 남은 n이 1이면 true를 리턴!
아니라면 false를 리턴!
class Solution {
public:
bool isUgly(int n) {
if(n >= 1){
while(n % 2 == 0){
n /= 2;
}
while(n % 3 == 0){
n /= 3;
}
while(n % 5 == 0){
n /= 5;
}
return n == 1 ? true : false;
}
return false;
}
};
728x90
반응형
'Leet Code 알고리즘' 카테고리의 다른 글
(Leet Code c++)First Bad Version (0) | 2021.07.30 |
---|---|
(Leet Code c++)Missing Number (0) | 2021.07.30 |
(Leet Code c++)Add Digits (0) | 2021.07.29 |
(Leet Code c++)Binary Tree Paths (0) | 2021.07.29 |
(Leet Code c++)Valid Anagram (0) | 2021.07.28 |