
😎풀이
divisors순회
1-1. 현재 수로 nums 중 나누어 떨어지게 나눌 수 있는 수 탐색
1-2. 기존 수 미만이라면, 다음 탐색
1-3. 기존 수와 동일하다면, 약수를 더 낮은 수로 갱신
1-4. 기존 수를 초과한다면, 현재 약수와 나눌 수 있는 최대 수 갱신
- 가장 많은 수를 나눌 수 있는 약수 반환
function maxDivScore(nums: number[], divisors: number[]): number {
let div = Infinity
let score = 0
for(const divisor of divisors) {
const divisible = nums.filter(a => (a % divisor) === 0).length
if(divisible < score) continue
if(divisible === score) {
div = Math.min(div, divisor)
} else {
score = divisible
div = divisor
}
}
return div
};