function solution(arrayA, arrayB) {
arrayA.sort((a, b) => a - b);
arrayB.sort((a, b) => a - b);
const findCandidate = (curr, other) => {
for (let i = curr[0]; i > 1; --i) {
if (curr.every((n) => n % i === 0) && !other.some((n) => n % i === 0))
return i;
}
return 0;
};
return Math.max(findCandidate(arrayA, arrayB), findCandidate(arrayB, arrayA));
}
혼자 무식하게 풀려다 역시나 시간 초과가 나서 다른 사람의 힌트를 참고했다.
공약수 공배수 이런 개념 나오면 갑자기 취약해지는 기분...
사실 모든 경우의 수를 구해야 하는 것이 아니기 때문에 그렇게 어렵게 생각할 필요가 없는 문제였다.