LeetCode - 1979. Find Greatest Common Divisor of Array

henu·2023년 10월 12일
0

LeetCode

목록 보기
118/186

Solution

var findGCD = function(nums) {
    const min = Math.min(...nums)
    const max = Math.max(...nums)

    let divisor = min

    while(max % divisor !== 0 || min % divisor !== 0) {
        divisor--
    }

    return divisor
};

Explanation

구하고자 하는 것은 수열에서 최댓값과 최솟값의 최대공약수이다.
1. 수열에서 최댓값과 최솟값을 얻어낸다.
2. 최대공약수는 아무리 커도 최솟값보다 클 수 없다.
그렇기 때문에 최솟값에서 1씩 빼면서 최대공약수인지 확인해본다.
3. 최솟값과 최댓값이 둘 다 나누어 떨어질때 수가 최대공약수가 된다.

0개의 댓글