LeetCode - 2485. Find the Pivot Integer

henu·2023년 9월 29일
0

LeetCode

목록 보기
91/186

Solution

var pivotInteger = function(n) {
    let x = 1

    while(x <= n) {
        if((x ** 2 * 2) === (n ** 2 + n)) return x
        else x++
    }

    return -1
};

Explanation

문제에서 요구하는 pivot 정수란? 먼저 정수 n이 주어질 때
1부터 pivot 정수까지의 합 = pivot 정수부터 n까지의 합이 성립하는 정수를 말한다.
합을 구할때는 가우스 공식을 이용한다. 정수는 공차가 1인 등차수열이다. 등차수열의 합은 가우스 공식을 이용해서 쉽게 구할 수 있다. 가우스 공식은 다음과 같다.
(첫 번째 항 + 마지막 항) * 항의 개수 / 2
그럼 가우스 공식을 이용해서 1부터 pivot 정수까지의 합과 pivot 정수부터 n까지 합을 각각 구한 후 비교하여 등호가 성립하는지 확인하면 된다. pivot 정수 x를 1부터 시작하여 등호가 성립할 때까지 1씩 증가시키면서 확인한다.
n까지 확인했는데 등호가 성립되지 않으면 -1를 리턴한다.

0개의 댓글