[LeetCode] Three Divisors

아르당·2026년 7월 21일

LeetCode

목록 보기
417/561
post-thumbnail

문제를 이해하고 있다면 바로 풀이를 보면 됨
전체 코드로 바로 넘어가도 됨
마음대로 번역해서 오역이 있을 수 있음

Problem

정수 n이 주어졌을 때, n이 약수를 정확하게 3개를 갖는다면 true를 반환해라. 그렇지 않다면 false를 반환해라.
정수 m은 n = k * m을 만족하는 정수 k가 존재하면 n의 약수이다.

Example

#1
Input: n = 2
Output: false
Explanation: 2는 오직 1과 2, 2개의 약수를 가진다.

#2
Input: n = 4
Output: true
Explanation: 4는 1, 2, 4, 3개의 약수를 가진다.

Constraints

  • 1 <= n <= 10^4

Solved

class Solution {
    public boolean isThree(int n) {
        int count = 0;

        for(int i = 2; i <= n / 2; i++){
            if(n % i == 0){
                count++;
            }
            
            if(count > 1){
                return false;
            }
        }

        return count == 1;
    }
}
profile
내 마음대로 코드 작성하는 세상

0개의 댓글