function circularDifference(a, b) {
const diff = Math.abs(a.charCodeAt(0) - b.charCodeAt(0));
return Math.min(diff, 26 - diff);
}
function circularDifferenceIndex(length, i, j) {
const diff = Math.abs(i - j);
return Math.min(diff, length - diff);
}
[x1, y1, x2, y2]
형태의 사각형들이 배열로 주어졌을 때 각 사각형 사이의 겹침이 있는지 확인하는 로직
const isCrossedRect = currentRect && prevRect
? !(currentRect[0] > prevRect[2]
|| currentRect[2] < prevRect[0]
|| currentRect[1] > prevRect[3]
|| currentRect[3] < prevRect[1])
: true;
function gcd(m, n) {
let [a, b] = m > n ? [m, n] : [n : m];
while(a % b !== 0) {
const temp = a;
a = b;
b = temp % b;
}
return b;
}
function lcm(m, n) {
return m * n / gcd(m, n);
}