[프로그래머스 lev1/JS] 부족한 금액 계산하기

woolee의 기록보관소·2022년 11월 8일
0

알고리즘 문제풀이

목록 보기
52/178

문제 출처

프로그래머스 lev1 - 부족한 금액 계산하기

문제

나의 풀이

function solution(price, money, count) {
  let need = 0; 
  for (let i=1; i<=count; i++) {
    need += price*i;
  }
  if (need-money > 0) {
    return need-money;
  }
  else return 0; 
}

console.log(
  solution(
    3, 20, 1
  )
);

다른 풀이

1+ ... +100
1+100=101, 2+99=101, ...
=> 50 * (100+1) = 5050

n부터 m까지 더한 값 = ((n+m) * (n부터 m까지의 개수)) / 2

1부터 100까지의 합 = 101*100/2 = 5050

function solution(price, money, count) {
    const tmp = price * count * (count + 1) / 2 - money;
    return tmp > 0 ? tmp : 0;
}

…_ : 매개변수 목록 전부
_[0] : price
_[1] : money
_[2] : count

const solution = (..._) => Math.max(_[0]*_[2]*++_[2]/2-_[1], 0);

console.log(
  solution(
    3, 20, 4
  )
);
profile
https://medium.com/@wooleejaan

0개의 댓글