[Lv.1] 두 정수 사이의 합

01수정·2023년 11월 2일
0

문제


풀이

  • 바보같이 푼 느낌. 어떤 테스트케이스는 시간이 꽤 걸린다
function solution(a, b) {
    if (a === b) return a;
    
    let sum = 0;
    let bigger = a > b ? a : b;
    let smaller = a > b ? b : a;
    
    for (let i=smaller; i<=bigger; i++) {
        sum += i;
    }
    
    return sum;
}

다른 풀이

  • Math.min, Math.max 사용하면 더 깔끔하구나
function adder(a, b, s = 0){
  for (var i = Math.min(a, b); i <= Math.max(a, b); i++) s += i;
  return s;
}
  • 가우스공식
function adder(a, b){
    var result = 0
    return (a+b) * (Math.abs(a-b)+1) / 2;
}
profile
새싹 FE 개발자

0개의 댓글