Problem From.
https://leetcode.com/problems/find-greatest-common-divisor-of-array/
오늘 문제는 nums array 가 주어질때, 그 안에서 가장 작은 수와 가장 큰 수의 gcd 를 찾는 문제였다.
먼저 array 에서 최소값과 최대값을 찾은 다음에, 최소값에서 1씩 빼가면서 두 숫자가 모두 나누어 떨어지는지 검사하는 방법으로 문제를 해결하였다.
class Solution {
fun findGCD(nums: IntArray): Int {
var min = Int.MAX_VALUE
var max = Int.MIN_VALUE
nums.forEach {
if(it < min) min = it
if(it > max) max = it
}
for(i in min downTo 1) {
if(max % i == 0 && min % i == 0) return i
}
return 0
}
}