코린이의 소소한 공부노트

[LeetCode/Easy] 2427. Number of Common Factors 본문

코딩테스트 풀이/JAVA

[LeetCode/Easy] 2427. Number of Common Factors

무지맘 2023. 5. 3. 14:19

1. Input

1) int a

2) int b

 

2. Output

1) ab의 공약수의 개수를 반환

 

3. Constraint

1) 1 <= a, b <= 1000

 

4. Example

Input: a = 12, b = 6 -> Output: 4

설명: 126의 공약수는 1, 2, 3, 6이다.

 

5. Code

1) 첫 코드(2023/05/03)

class Solution {
    public int commonFactors(int a, int b) {
        int answer = 0;
        for(int i=1 ; i<=Math.min(a,b) ; i++)
            if(a%i==0 && b%i==0)
                answer++;
        return answer;
    }
}

2) 최대공약수를 먼저 계산한 코드(2023/05/03)

class Solution {
    public int commonFactors(int a, int b) {
        int answer = 0, gcd = 1;
        for(int i=Math.min(a,b) ; i>1 && gcd==1 ; i--)
            if(a%i==0 && b%i==0)
                gcd = i;
        for(int i=1 ; i<=gcd ; i++)
            if(gcd%i==0)
                answer++;
        return answer;
    }
}

- 이게 더 좋다.