문제 풀기/JavaScripts

문제 35. 부족한 금액 계산하기(가우스 공식)

kagan-draca 2024. 7. 23. 14:54

 

처음 제출한 코드는

 

function solution(price, money, count)
{
    let answer = 0;
    for(let i = 1; i <= count; i++) answer += (price * i);
    return money - answer >= 0 ? 0 : answer - money;
}

위와 같이 반복문으로 금액을 계산해 보유한 금액과 비교하는 방식이었다.

 

'문제를 제출한 후 더 간단한 방식이 존재하지 않을까'?

다른 사람 풀이를 본 결과

 

가우스 공식을 이용해 반복문 없이 계산이 가능했다.

 

 

(첫 값 + 끝 값) * 숫자 개수 / 2 

 

규칙성이 있는 숫자들의 합을 빠르게

구할 수 있었다.

 

 

제출한 코드 : 

 

function solution(price, money, count) 
{
    let temp = (price + price * count) * (count) / 2 - money
    return temp >= 0 ? temp : 0
}