[LeetCode] 3658. GCD of Odd and Even Sums

Chobby·2026년 1월 19일

LeetCode

목록 보기
939/1065

😎풀이

  1. 초깃값을 기준으로 n번째 숫자까지 누적하는 값을 반환하는 헬퍼 함수 getNTimeSums 정의
  2. 두 수의 최대 공약수를 반환하는 헬퍼 함수 getGCD 정의
  3. 홀수 합과 짝수 합의 최대 공약수 반환
function gcdOfOddEvenSums(n: number): number {
    const oddSum = getNTimeSums(1, n)
    const evenSum = getNTimeSums(2, n)
    return getGCD(evenSum, oddSum)
};

function getNTimeSums(num: number, n: number) {
    let total = num
    for(let i = 1, curr = num + 2; i < n; i++, curr += 2) {
        total += curr
    }
    return total
}

function getGCD(a: number, b: number) {
    if(a % b === 0) return b
    return getGCD(b, a % b)
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글