문제 풀기/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
}